.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