.Net Core配置与自动更新
.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<DatabaseOption>(configuration.GetSection( "Database" ));
|
然后在来在构造函数中注入
?
1
2
3
4
|
public EntityFrameWorkConfigure(IOptions<DatabaseOption> dataBaseOption)
{
_dataBaseOption = dataBaseOption;
}
|
注意:IOptions<T>是单例的,即当你修改了appsettings.json也不会改变它的值,这样一定要重启你的程序才会更新。
使用IOptionsSnapshot<T>自动更新
如果你希望在使用强类型的时候,也可以自动更新你的配置而不用重启程序,你可以使用IOptionsSnapshot<T>
1
2
3
4
|
public EntityFrameWorkConfigure(IOptionsSnapshot<DatabaseOption> dataBaseOption)
{
_dataBaseOption = dataBaseOption;
}
|
原文地址:http://www.zkea.net/codesnippet/detail/post-80
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
.Net Core配置与自动更新相关推荐
- 浅析 .Net Core中Json配置的自动更新
Pre 很早在看 Jesse 的Asp.net Core快速入门的课程的时候就了解到了在Asp .net core中,如果添加的Json配置被更改了,是支持自动重载配置的,作为一名有着严重" ...
- 在 Ubuntu 14.04 LTS 中配置 certbot 自动更新
目录 前言 一.安装 snapd 二.确保安装的 snapd 版本为最新版本 三.删除 certbot-auto 及系统中已安装的任何 certbot 软件包 四.安装 Certbot 五.建立系统的 ...
- 实现.Net程序中OpenTracing采样和上报配置的自动更新
前言 OpenTracing是一个链路跟踪的开放协议,已经有开源的.net实现:opentracing-csharp,同时支持.net framework和.net core,Github地址:htt ...
- wp配置后台自动更新
2019独角兽企业重金招聘Python工程师标准>>> Update Configuration Automatic updates can be configured using ...
- 后盾网lavarel视频项目---phpstorm 配置ftp, 自动更新同步代码
后盾网lavarel视频项目---phpstorm 配置ftp, 自动更新同步代码 一.总结 一句话总结: 1.在phpstorm中设置:路径Tools/Deployment/Configuratio ...
- 带你入门SpringCloud 之 通过SpringCloud Bus 自动更新配置
前言 在<带你入门SpringCloud统一配置 | SpringCloud Config>中通过 SpringCloud Config 完成了统一配置基础环境搭建,但是并没有实现配置修改 ...
- 微服务架构开发实战:分布式消息总线,实现配置信息的自动更新
实现配置信息的自动更新 在上一篇文章中节演示了集成Spring Cloud Bus 的过程.在示例中,当微服务实例启动的时候,可以去加载最新的配置信息.当时这种做法有一定的局限性,即只有在应用启动的过 ...
- [系统]_[WIN7和WIN10]_[禁用自动更新批处理脚本]
场景 朋友说WIN10的补丁更新怕了,现在WIN10的补丁质量真是差,和iOS有一拼,就是新补丁带来新BUG. 问我如何禁用自动更新.之前花了很长的时间写了一个python脚本,发现无法修改本地组策略 ...
- linux8软件升级,CentOS 8设置自动更新的完整步骤
你可以为数据和计算机做的最好的事情就是确保它们的安全.就像打开更新一样简单,但是,大多数使用CentOS 8的人都不知道该怎么做. Setup-CentOS-8-Automatic-Updates 在 ...
最新文章
- Java项目:网上选课系统(java+SSM+jsp+mysql+maven)
- IO流(文件的读写)---本文的正确性有待您验证。
- Java中 Iterable 和 Iterator 的区别
- 教科书上的LDA为什么长这样?
- asp.net接受表单验证格式后再提交数据_如何解析 el-form-renderer 表单渲染器1.14.0...
- 买买买!iPhone 13全系曝光:价格给力
- Chrome 更新导致部分 macOS 的文件系统损坏,无法重启
- [NOIP2011]聪明的质检员
- hdu 1251(字典树)
- Linux-Discuz安装LAMP
- 大数据+人工智能:实践AI深度学习的十大惊艳案例
- 在mac homebrew_您可以通过Homebrew在Mac上获得的最佳命令行工具
- PCIe Gen4 Equlization失败掉速到Gen3的问题排查
- Matlab中矩阵的右上角有一撇表示什么意思
- RecyclerView --- 分割线
- MySQL索引(详细,1万字长文)
- oracle bpm 表单,Oracle BPM 安全认证
- 哈尔滨工业大学2022计算机系统大作业
- 2016的ChinaJoy沦为ChinaVR?
- 【已解决】leaflet比例尺:L.control.scale 单位国际化(m:米、km:公里、ft:英尺、mi:英里)