zoukankan      html  css  js  c++  java
  • .net core appsetting/获取配置文件

    修改appsetting

    最近用Identity4所以需要做一个配置项项目

    {
      "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
          "Default": "Warning"
        }
      },
      "Indentity": {"Center": "",//这部分就是要取的
        "ApiCenter": ""
      }
    }

    在startup中获取

    首先我们要从 Indentity中 获取center当中的数据

    这部分比较简单只要在startup 中的ConfigureServices 获取 Indentity下的Center

    this.Configuration["Indentity:Center"]

    就这么一句话就可以获取到了

    将内容注入到管道中

    1.创建一个model

        public class IndentitySettingModel
        {
            public string Center { get; set; }
            public string ApiCenter { get; set; }
        }

    2.在startup中注入到管道当中

    services.Configure<Utility.HelperModel.IndentitySettingModel>(this.Configuration.GetSection("Indentity"));

    兄弟。这样就注入到管道当中了。接下来我们就可以去controller中获取 了

    在controller中获取

            /// <summary>
            /// 获取AccessToken
            /// </summary>
            /// <returns></returns>
            public string GetAccessToken(IOptions<IndentitySettingModel> settings)
            {
               return settings.Center;
            }

    恩很 就是这样 就可以获取的到了。

    最详细的config引用

    刚才有几个朋友和我说 。我干的很漂亮纯属糊弄人的文章。

    好的。 我重新写一下吧。

    我把所有需要引用DLL 给大家贴图吧。太多了。

    算了,还是打出来吧。

    Microsoft.Extensions.Configuration
    Microsoft.Extensions.Configuration.Abstractions
    Microsoft.Extensions.Configuration.Json
    Microsoft.Extensions.DependencyInjection
    Microsoft.Extensions.Options
    Microsoft.Extensions.Options.ConfigurationExtensions

    把这些 nuget引用

    编写Help类

        public class ConfigurationUtil
        {
    
            public static readonly IConfiguration Configuration;
    
            static ConfigurationUtil()
            {
                Configuration = new ConfigurationBuilder()
                    .SetBasePath(Directory.GetCurrentDirectory())
                    .AddJsonFile("appsettings.json", true)
                    .Build();
            }
    
            public static T GetSection<T>(string key) where T : class, new()
            {
                var obj = new ServiceCollection()
                    .AddOptions()
                    .Configure<T>(Configuration.GetSection(key))
                    .BuildServiceProvider()
                    .GetService<IOptions<T>>()
                    .Value;
                return obj;
            }
    
            public static string GetSection(string key)
            {
                return Configuration.GetValue<string>(key);
            }
        }

    调用方法

    ConfigurationUtil.GetSection("MongoDb:ConnectionString")

    骂人部分

    天天让我写。天天没人点赞!

    后续

    创建了一个QQ群希望有志之士可以加一下

    点击链接加入群聊【.Net Core研究团】:https://jq.qq.com/?_wv=1027&k=5298dNv

  • 相关阅读:
    VSTO不能创建OFFICE 文档项目的原因
    vs2016 创建 vsto excel 文件项目的一个问题
    一个开发原则:永远不要返回NULL
    客户为什么习惯变更需求
    从实际项目中的一个改进细节谈程序的易用性优化
    第三方系统打开EAFC的实现
    功能间(两个form)数据交互的编程方法
    关于行军模式大批量数据的审批的实现
    程序的升级发布管理
    转:从如何判断浮点数是否等于0说起——浮点数的机器级表示 献给依然 if ( double i ==0.00)的菜鸟们
  • 原文地址:https://www.cnblogs.com/Extnet/p/9755006.html
Copyright © 2011-2022 走看看