.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

posted @ 2018-10-08 16:09  Royal丶鬼才  阅读(6654)  评论(1编辑  收藏  举报