.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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初级Java开发与架构之间的差距不仅仅是开发时间

转载自 初级Java开发与架构之间的差距不仅仅是开发时间 一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器&#xff08;G1&#xff09;、GC算法…

ASP.NET Core Web API下事件驱动型架构的实现(一):一个简单的实现

很长一段时间以来&#xff0c;我都在思考如何在ASP.NET Core的框架下&#xff0c;实现一套完整的事件驱动型架构。这个问题看上去有点大&#xff0c;其实主要目标是为了实现一个基于ASP.NET Core的微服务&#xff0c;它能够非常简单地订阅来自于某个渠道的事件消息&#xff0c;…

面试了 N 个候选人后,我总结出这份 Java 面试准备技巧

转载自 面试了 N 个候选人后&#xff0c;我总结出这份 Java 面试准备技巧 目录&#xff1a; 框架是重点&#xff0c;但别让人感觉你只会山寨别人的代码 别只看单机版的框架&#xff0c;分布式也需要了解 对于数据库&#xff0c;别只知道增删改查&#xff0c;得了解性能优化…

Scratc3.0作品转化成exe文件

Scratch 3的作品&#xff08;sb3格式的文件&#xff09;怎么生成可执行exe文件 Scratch 3.0和Scratch 2.0软件相比&#xff0c;界面和内部实现机制有了较大变化。 与以前2.0版本不同&#xff0c;Scratch3.0版本改用H5和JS语言编写&#xff1b;软件界面有较大变化&#xff0c;将…

来腾讯云开发者实验室 学习.NET Core 2.0

腾讯云开发者实验室为开发者提供了一个零门槛的在线实验平台,开发者实验室提供的能力&#xff1a;零门槛扫码即可免费领取实验机器&#xff0c;支持使用自有机器参与&#xff0c;实验完成后支持保留实验成果&#xff1b;在线 WEB IDE 支持 shell 命令操作&#xff0c;支持机器文…

Redis面试题(2020最新版)

转载自 Redis面试题&#xff08;2020最新版&#xff09; 概述 什么是Redis Redis(Remote Dictionary Server) 是一个使用 C 语言编写的&#xff0c;开源的&#xff08;BSD许可&#xff09;高性能非关系型&#xff08;NoSQL&#xff09;的键值对数据库。 Redis 可以存储键和五…

Orleans介绍

一、介绍Orleans是一个框架&#xff0c;提供了一个直接的方法来构建分布式高规模计算应用程序默认可扩展 -》 Orleans处理构建分布式系统的复杂性&#xff0c;使您的应用程序能够扩展到数百台服务器。低延迟 -》 Orleans允许你在内存中保持你需要的状态&#xff0c;所以你的应用…

Orleans安装

一、Nuget包Orleans NuGet软件包从v1.5.0开始在大多数情况下&#xff0c;您需要使用4个关键的NuGet包&#xff1a;1&#xff0c;Microsoft Orleans Build-time Code GenerationPM> Install-Package Microsoft.Orleans.OrleansCodeGenerator.Build为Grain接口和实现项目提供支…

Ch5702-Count The Repetitions【字符串,倍增,dp】

正题 题目大意 要求s2n2∗ms_2^{{n_2}*m}s2n2​∗m​是串s1n1s_1^{n_1}s1n1​​的字串&#xff0c;求最大的mmm 解题思路 首先求一个m′m&#x27;m′使得s2ms_2^ms2m​能够被s1n1s_1^{n_1}s1n1​​生成&#xff0c;然后可以从而求出mmm 倍增优化&#xff0c;设fi,jf_{i,j}f…

如何加快github的clone速度

有时候在github上下载一个项目需要很长的时间&#xff0c;甚至只有几k每秒&#xff0c;项目大了之后甚至直接下载失败。 这里有两种方法: 1、在GitHub域名后面加上.cnpmjs.org 正常的下载速度只有几十k每秒&#xff0c;但是在镜像上clone则能很大程度的节省时间&#xff0c;加…

Orleans入门

一、GrainsGrains是Orleans编程模型的关键原语。 Grains是Orleans应用程序的构建块&#xff0c;它们是隔离&#xff0c;分配和持久性的原子单元。 Grains是表示应用程序实体的对象。 就像在经典的面向对象编程&#xff08;Object Oriented Programming&#xff09;中一样&#…

爬虫基础5.24

request进阶第一步 1、爬取网页所有内容 import urllib.request fileurllib.request.urlopen(http://www.baidu.com) datafile.read() #读取全部 datalinefile.readline() #读取一行内容 print(data)添加请求头 java headers {user-agent: Mozilla/5.0 (Windows NT 1…

Tomcat面试题(2020最新版)

转载自 Tomcat面试题&#xff08;2020最新版&#xff09; Tomcat是什么&#xff1f; Tomcat 服务器Apache软件基金会项目中的一个核心项目&#xff0c;是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很…

.NET Core 已经实现了PHP JIT,现在PHP是.NET上的一门开发语言

12月23日&#xff0c;由开源中国联合中国电子技术标准化研究院主办的2017源创会年终盛典在北京万豪酒店顺利举行。在本次大会上&#xff0c;链家集团技术副总裁、PHP 开发组核心成员鸟哥发表了以 “ PHP Next: JIT ”为主题的演讲&#xff0c;分享了 PHP 的下一个性能提升的主要…

Java虚拟机(JVM)面试题(2020最新版)

转载自 Java虚拟机(JVM)面试题&#xff08;2020最新版&#xff09; Java内存区域 说一下 JVM 的主要组成部分及其作用&#xff1f; JVM包含两个子系统和两个组件&#xff0c;两个子系统为Class loader(类装载)、Execution engine(执行引擎)&#xff1b;两个组件为Runtime da…

ASP.NET Core中的OWASP Top 10 十大风险-跨站点脚本攻击 (XSS)

本博文翻译自&#xff1a;https://dotnetcoretutorials.com/2017/10/25/owasp-top-10-asp-net-core-cross-site-scripting-xss/在这篇文章的前几次迭代中&#xff0c;我用了一个很长的篇幅解释了什么是跨站脚本(XSS)。但在花了好几个小时来完善它之后&#xff0c;我觉得向你展示…

(C语言)请编写程序,计算1-1/2-1/3-1/4-.....-1/50的和。

代码如下&#xff1a; #include<stdio.h>int main() {float i,sum1;for(i2;i<50;i){sumsum-1/i;}printf("%f",sum); }注意这里用的是float&#xff0c;不能用int&#xff0c;否则像是1/2&#xff0c;1/3统统都是0&#xff0c;最终运行的结果也是0&#xff…

芋道 Spring Boot 自动配置原理

转载自 芋道 Spring Boot 自动配置原理 1. 概述 友情提示&#xff1a;因为本文是分享 Spring Boot 自动配置的原理&#xff0c;所以需要胖友有使用过 Spring Boot 的经验。如果还没使用过的胖友&#xff0c;不用慌&#xff0c;先跳转到《芋道 Spring Boot SpringMVC 入门》文…

云设计模式

随着技术的快速发展&#xff0c;应用的架构逐渐从单体、分层、SOA逐渐向微服务的方向演进&#xff0c;而基础设施也逐渐从大型机&#xff0c;自建机房&#xff0c;到托管在云平台的各种服务上。所有这一切都是为了使应用&#xff08;web/mobile&#xff09;更快、更安全的上线&…

(C语言)数组去重

现有一组数&#xff0c;a[]{1,1,1,3,3,5,5,5,5,6,6,8,8,9,10,10} 要求将他们变为&#xff1a;{1&#xff0c;3&#xff0c;5&#xff0c;6&#xff0c;8&#xff0c;9&#xff0c;10} #include<stdio.h> int fun(int a[],int n){&#xff0c;int i,j1,ka[0],m,flag0;for…