.Net Core配置与自动更新的实现方法

.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配置与自动更新的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • ASP.NET Core环境变量和启动设置的配置教程

    在这一部分内容中,我们来讨论ASP.NET Core中的一个新功能:环境变量和启动设置,它将开发过程中的调试和测试变的更加简单.我们只需要简单的修改配置文件,就可以实现开发.预演.生产环境的切换. ASPNETCORE_ENVIRONMENT ASP.NET Core控制环境切换最核心的东西是"ASPNETCORE_ENVIRONMENT"环境变量,它直接控制当前应用程序运行的环境类型.您可以通过在项目上右键菜单选择"属性"选项,然后切换到"调试"

  • .NET Core Windows环境安装配置教程

    1.安装.NET Core SDK 在windows下开发.NET Core最好使用Visual Studio工具.下载地址与安装: VS2015最新版本:Visual Studio 2015 Update 3* VS环境下的.Net Core:.NET Core 1.0 for Visual Studio 对应下载的文件DotNetCore.1.0.0-VS2015Tools.Preview2.exe .Net Core安装过程(安装过程比较慢,亲们耐心等待): (安装慢,等待中--.) (O

  • .Net Core配置与自动更新的实现方法

    .Net Core 将之前Web.Config中的配置迁移到了appsettings.json文件中,并使用ConfigurationBuilder来读取这个配置文件.并可设置在配置文件变化以后,自动重新加载,这样可不用重启你的程序. var builder = new ConfigurationBuilder() .SetBasePath(env.ContentRootPath) .AddJsonFile("appsettings.json", optional: true, rel

  • PostgreSQL更新表时时间戳不会自动更新的解决方法

    PostgreSQL更新表时时间戳不会自动更新的解决方法,具体如下 操作系统:CentOS7.3.1611_x64 PostgreSQL版本:9.6 问题描述 PostgreSQL执行Insert语句时,自动填入时间的功能可以在创建表时实现,但更新表时时间戳不会自动自动更新. 在mysql中可以在创建表时定义自动更新字段,比如 : create table ab ( id int, changetimestamp timestamp NOT NULL default CURRENT_TIMEST

  • 网页爬虫之cookie自动获取及过期自动更新的实现方法

    本文实现cookie的自动获取,及cookie过期自动更新. 社交网站中的很多信息需要登录才能获取到,以微博为例,不登录账号,只能看到大V的前十条微博.保持登录状态,必须要用到Cookie.以登录www.weibo.cn 为例: 在chrome中输入:http://login.weibo.cn/login/ 分析控制台的Headers的请求返回,会看到weibo.cn有几组返回的cookie. 实现步骤: 1,采用selenium自动登录获取cookie,保存到文件; 2,读取cookie,比较

  • idea maven pom不自动更新的解决方法

    今天遇到pom中添加dependency时相关的jar会自动下载,但是左边的External Libraries中一直获取不到添加的jar问题. 刚开始怀疑是maven的更新问题所以一直在下边这几个地方重复的执行,然而并未有卵用. 后来在网上查的: 在这里更新,一样没用,而且这个位置的跟上边是一个功能. 这里的reimport主要是针对maven没有使pom的引用自动更新而执行的手动更新功能,这点比较符合本博文的题目. 说下我的问题原因和解决方案: pom中的引用没有出现在External Li

  • 浅析.Net Core中Json配置的自动更新

    Pre 很早在看 Jesse 的 Asp.net Core快速入门 的课程的时候就了解到了在Asp .net core中,如果添加的Json配置被更改了,是支持自动重载配置的,作为一名有着严重"造轮子"情节的程序员,最近在折腾一个博客系统,也想造出一个这样能自动更新以Mysql为数据源的ConfigureSource,于是点开了AddJsonFile这个拓展函数的源码,发现别有洞天,蛮有意思,本篇文章就简单地聊一聊Json config的ReloadOnChange是如何实现的,在学习

  • Asp.net core中实现自动更新的Option的方法示例

    Asp.net core可以监视json.xml等配置文件的变化, 自动刷新内存中的配置内容, 但如果想每隔1秒从zookeeper.consul获取最新的配置信息, 需要自己实现. 阅读了 Asp.net core Document的Custom configuration provider, 得知只需要实现自己的IConfigurationSource和对应ConfigurationProvider即可 在这个示例中, 我建立了一个简单的option, 只包含一个不断变化的计数器变量. pu

  • CentOS 8设置自动更新的完整步骤

    你可以为数据和计算机做的最好的事情就是确保它们的安全.就像打开更新一样简单,但是,大多数使用CentOS 8的人都不知道该怎么做. Setup-CentOS-8-Automatic-Updates 在本文中,你将学习如何在CentOS 8 Linux机器上启用自动软件更新.你将学习如何设置系统,从而无需手动安装安全性和其他更新. 1.使用自动RPM软件包设置自动CentOS 8更新 首先是要安装DNF自动 RPM软件包.该软件包提供了自动启动的DNF组件.要安装它,请使用以下命令. # dnf

  • linux下SVN配置实现项目目录自动更新以及源码安装的操作方法

    配置钩子文件自动更新 开发环境提交更新至服务器时会出现每次在服务器端项目目录下必须手动更新SVN up才可以访问最新更新,通过钩子文件配置 则可以实现自动更新 新建文件: vim /usr/local/svn/demo/hooks/post-commit 添加如下文字: #!/bin/sh export LANG=en_US.UTF-8 /usr/bin/svn update /var/www/html/demo --username dev1 --password 123456 再添加post

  • 如何使用electron-builder及electron-updater给项目配置自动更新

    说明: 本文的自动更新功能使用的项目为 electron-vue 脚手架搭建一个默认项目. 参考的文章如下: electron-vue 中文文档 electron-builder 文档 Windows 下支持自动更新的 Electron 应用脚手架 Electron 文档 Docs / API / autoUpdater 开始:新建一个 electron 项目 首先你得有一个需要配置自动更新功能的 electron 项目.这里我为了测试自动更新功能是否成功搭建使用的是 electron-vue

  • python 安装教程之Pycharm安装及配置字体主题,换行,自动更新

    下载 下面提供两种下载地址,官网地址一般为最新的,网盘地址会定期更新,但是不保证一定是最新的 官网下载地址:https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=windows 百度网盘地址: https://pan.baidu.com/s/1EhtY5PD3XagJ-nTw8IX8Vw 提取码: z8ej 安装 1.双击 exe 安装 2.自定义安装路径 2.配置 3.添加到开始菜单里 可以选择放在其他

随机推荐