.Net Core配置与自动更新

来源:互联网 发布:网络推广代运营公司 编辑:程序博客网 时间:2024/05/18 01:12

.Net Core配置与自动更新
转载 2017年12月24日
.Net Core 将之前Web.Config中的配置迁移到了appsettings.json文件中,并使用ConfigurationBuilder来读取这个配置文件。并可设置在配置文件变化以后,自动重新加载,这样可不用重启你的程序。

1
2
3
4
5
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile(“appsettings.json”, optional: true, reloadOnChange: true)
.AddJsonFile($”appsettings.{env.EnvironmentName}.json”, optional: true)
.AddEnvironmentVariables();
  
配置信息读取

配置的读取要比以前方便很多,直接使用。在ConfigurationBuilder调用Build()方法以后,就可直接取值:
1
2
Configuration = builder.Build();
var value = Configuration[“Section:Key”]
当配置更新以后,使用Configuration[“Section:Key”]得到的也是最新的值。
配置强类型

可以直接使用强类型,把配置文件转换成你的对象直接使用,只要对象的属性与配置中一一对应即可。
1
services.Configure(configuration.GetSection(“Database”));
然后在来在构造函数中注入
?
1
2
3
4
public EntityFrameWorkConfigure(IOptions dataBaseOption)
{
_dataBaseOption = dataBaseOption;
}
注意:IOptions是单例的,即当你修改了appsettings.json也不会改变它的值,这样一定要重启你的程序才会更新。
使用IOptionsSnapshot自动更新

如果你希望在使用强类型的时候,也可以自动更新你的配置而不用重启程序,你可以使用IOptionsSnapshot
1
2
3
4
public EntityFrameWorkConfigure(IOptionsSnapshot dataBaseOption)
{
_dataBaseOption = dataBaseOption;
}
原文地址:http://www.zkea.net/codesnippet/detail/post-80

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 哺乳期可以吃润喉糖吗 如酥似宝 栀香如酥 如酥似宝原名 天街小雨润如酥的下一句 天街小雨润如酥的全诗 润妮秀 宝润燃气统一送气电话 蜂宝润畅膏 宝润燃气 宝信润山 鞍山宝润大酒店 合润 润的 润在 用润 会润 泉润好吗 悠润 下润 至润 薇曼润 水之润下 胜中尚东水润 雅滋美特水润精华洁面乳 润家房产 润之家 家肥屋润 好润家超市 宜林润家地板 润家购物广场 润之家花生油 中润置家房地产经纪有限公司 水家跃 靓欣家 绿美家 时润 润景 润弘 润迪 润海