.net core 静态类获取appsettings的方法
程序员文章站
2022-03-08 08:26:02
注入获取注入获取通过iconfiguration直接获取的方法官方文档里就有,可以直接看如:appsettings.json{ "position": { "title": "编辑器",...
注入获取
注入获取通过iconfiguration直接获取的方法官方文档里就有,可以直接看
如:appsettings.json
{ "position": { "title": "编辑器", "name": "joe smith" }, "mykey": "my appsettings.json value", "logging": { "loglevel": { "default": "information", "microsoft": "warning", "lifetime": "information" } }, "allowedhosts": "*" }
可以用注入的iconfiguration,用冒号分隔的形式取值,如下
var name = configuration["position:name"];
实体类获取
单个获取对应多个组合的值就不太方便,比如logging最好能用一个类类直接接收,方法如下:
先定义一个跟json节点对应的类
public class logging { public loglevel loglevel { get; set; } } public class loglevel { public string default { get; set; } public string microsoft { get; set; } public string lifetime { get; set; } }
然后在startup的里configureservices增加
services.configure<logging>(configuration.getsection("logging"));
调用的地方直接注入
private readonly logging _config; public homecontroller(ioptions<logging> config) { _config = config.value; }
静态类获取
如果是在静态类里使用,可以在startup里的构造函数中这样写
public startup(iconfiguration configuration) { configuration = configuration; configuration.getsection("logging").bind(mysettings.setting); }
使用iconfigurationsection的bind方法将节点直接绑定至一个实例上,注意示例必须是初始化过的。
public static class mysettings { public static logging setting { get; set; } = new logging(); }
有了静态类的属性在在静态类里就可以使用了。
到此这篇关于.net core 静态类获取appsettings的方法的文章就介绍到这了,更多相关.net core获取appsettings内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
ASP.NET Core中预压缩静态文件的方法步骤
-
ASP.NET Core静态文件的使用方法
-
ASP.Net Core中使用枚举类而不是枚举的方法
-
ASP.NET core Web中使用appsettings.json配置文件的方法
-
ASP.NET Core中预压缩静态文件的方法步骤
-
.NET Core 获取数据库上下文实例的方法和配置连接字符串
-
ASP.NET Core静态文件的使用方法
-
ASP.NET Core DI手动获取注入对象的方法
-
ASP.Net Core中使用枚举类而不是枚举的方法
-
.NET 2.0获取配置文件AppSettings和ConnectionStrings节数据的方法