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

 更新时间:2017年12月14日 14:04:50   作者:ZKEASOFT  
下面小编就为大家分享一篇.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配置与自动更新的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • ASP.NET2.0服务器控件之自定义状态管理

    ASP.NET2.0服务器控件之自定义状态管理

    ASP.NET2.0服务器控件之自定义状态管理...
    2006-09-09
  • .NET中如何将文本文件的内容存储到DataSet

    .NET中如何将文本文件的内容存储到DataSet

    大家在项目中比较多的会对文件进行操作,例如文件的上传下载,文件的压缩和解压等IO操作。而在.NET项目中较多的会使用DataSet,DataTable进行数据的缓存。每一个DataSet都是一个或多个DataTable对象的集合,本文主要介绍的是如何将文本文件的内容存储到DataSet里去。
    2016-12-12
  • 封装的一个asp.net验证码类

    封装的一个asp.net验证码类

    昨天在一个Q群上面群主发了一个用ASP.NET实现验证码的demo,下载下来然后运行正常,页面上的img标签成功调用了一个一般处理程序并显示了中文的验证码图片,虽然有点模糊,但是可见上面是四个中文,图片背景为白色,背后有噪点线,边框黑色。
    2010-12-12
  • ASP.NET Core依赖注入(DI)讲解

    ASP.NET Core依赖注入(DI)讲解

    本文详细讲解了ASP.NET Core依赖注入(DI),文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • asp.net 中静态方法和动态方法调用的区别实例分析

    asp.net 中静态方法和动态方法调用的区别实例分析

    动态方法,在使用时需要先创建实例,才能调用实例方法,而静态方法则不需要,直接使用即可。
    2013-06-06
  • asp.net实现的DES加密解密操作示例

    asp.net实现的DES加密解密操作示例

    这篇文章主要介绍了asp.net实现的DES加密解密操作,结合具体实例形式分析了asp.net实现DES加密与解密算法的实现技巧,需要的朋友可以参考下
    2017-07-07
  • C# 添加图片水印类实现代码

    C# 添加图片水印类实现代码

    图片水印类实现代码,需要的朋友可以参考下。
    2009-05-05
  • .Net Core创建Api进行文件上传功能

    .Net Core创建Api进行文件上传功能

    这篇文章主要介绍了.Net Core创建Api进行文件上传,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • asp.net实现图片以二进制流输出的两种方法

    asp.net实现图片以二进制流输出的两种方法

    这篇文章主要介绍了asp.net实现图片以二进制流输出的两种方法,以简单实例形式分析了asp.net实现以二进制流形式读写图片文件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-12-12

最新评论