.Net Core配置与自动更新的实现方法
程序员文章站
2022-11-19 22:34:53
.net core 将之前web.config中的配置迁移到了appsettings.json文件中,并使用configurationbuilder来读取这个配置文件。并可...
.net core 将之前web.config中的配置迁移到了appsettings.json文件中,并使用configurationbuilder来读取这个配置文件。并可设置在配置文件变化以后,自动重新加载,这样可不用重启你的程序。
var builder = new configurationbuilder() .setbasepath(env.contentrootpath) .addjsonfile("appsettings.json", optional: true, reloadonchange: true) .addjsonfile($"appsettings.{env.environmentname}.json", optional: true) .addenvironmentvariables();
配置信息读取
配置的读取要比以前方便很多,直接使用。在configurationbuilder调用build()方法以后,就可直接取值:
configuration = builder.build(); var value = configuration["section:key"]
当配置更新以后,使用configuration["section:key"]得到的也是最新的值。
配置强类型
可以直接使用强类型,把配置文件转换成你的对象直接使用,只要对象的属性与配置中一一对应即可。
services.configure<databaseoption>(configuration.getsection("database"));
然后在来在构造函数中注入
public entityframeworkconfigure(ioptions<databaseoption> databaseoption) { _databaseoption = databaseoption; }
注意:ioptions<t>是单例的,即当你修改了appsettings.json也不会改变它的值,这样一定要重启你的程序才会更新。
使用ioptionssnapshot<t>自动更新
如果你希望在使用强类型的时候,也可以自动更新你的配置而不用重启程序,你可以使用ioptionssnapshot<t>
public entityframeworkconfigure(ioptionssnapshot<databaseoption> databaseoption) { _databaseoption = databaseoption; }
以上这篇.net core配置与自动更新的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
浅析.Net Core中Json配置的自动更新
-
.NET Core Dapper操作mysql数据库的实现方法
-
.NET Core 获取数据库上下文实例的方法和配置连接字符串
-
asp.net Core3.0区域与路由配置的方法
-
在ASP.NET Core 中发送邮件的实现方法(必看篇)
-
asp.net mvc 实现文件上传带进度条的思路与方法
-
ASP.NET Core 2.0集成Office Online Server(OWAS)实现办公文档的在线预览与编辑(支持word\excel\ppt\pdf等格式)
-
.NET Core日志配置的方法
-
Centos7+Docker+Jenkins+ASP.NET Core 2.0自动化发布与部署的实现
-
asp.net core系列 23 EF模型配置(概述, 类型和属性的包含与排除)