.net core 静态类获取appsettings的方法
注入获取
注入获取通过IConfiguration直接获取的方法官方文档里就有,可以直接看这里
如:appsettings.json
{ "Position":{ "Title":"编辑器", "Name":"JoeSmith" }, "MyKey":"Myappsettings.jsonValue", "Logging":{ "LogLevel":{ "Default":"Information", "Microsoft":"Warning", "Lifetime":"Information" } }, "AllowedHosts":"*" }
可以用注入的IConfiguration,用冒号分隔的形式取值,如下
varname=Configuration["Position:Name"];
实体类获取
单个获取对应多个组合的值就不太方便,比如Logging最好能用一个类类直接接收,方法如下:
先定义一个跟json节点对应的类
publicclassLogging { publicLogLevelLogLevel{get;set;} } publicclassLogLevel { publicstringDefault{get;set;} publicstringMicrosoft{get;set;} publicstringLifetime{get;set;} }
然后在Startup的里ConfigureServices增加
services.Configure(Configuration.GetSection("Logging"));
调用的地方直接注入
privatereadonlyLogging_config; publicHomeController(IOptionsconfig) { _config=config.Value; }
静态类获取
如果是在静态类里使用,可以在Startup里的构造函数中这样写
publicStartup(IConfigurationconfiguration) { Configuration=configuration; configuration.GetSection("Logging").Bind(MySettings.Setting); }
使用IConfigurationSection的Bind方法将节点直接绑定至一个实例上,注意示例必须是初始化过的。
publicstaticclassMySettings { publicstaticLoggingSetting{get;set;}=newLogging(); }
有了静态类的属性在在静态类里就可以使用了。
到此这篇关于.netcore静态类获取appsettings的方法的文章就介绍到这了,更多相关.netcore获取appsettings内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!