基于上一节 Bind,Options读取配置到C#实例 项目基础之上完善配置的热更新html
什么事热更新,当修改Appsettings.json文件数据后,后面的请求会自动加载最新数据,json
与以往不一样的是网站不回从新启动,其原理是分配了一个线程监视文件的修改,适用于配置文件常常变更的部署app
只须要将上一节的依赖注入的控制器的IOptions<Class>改成IOptionsSnapshot<Class>网站
public class HomeController : Controller { private readonly Class _myclass; //Options public HomeController(IOptionsSnapshot<Class> classAccesser) { this._myclass = classAccesser.Value; } }
网站默认是启动一个线程跟踪文件的若是业务不须要也能够关闭它在Program-》BuildWebHost方法中ui
public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args)//会默认将appsettings.json 读取 .ConfigureAppConfiguration(config => config.AddJsonFile("Appsettings.json", false, false)) //上面是从新设置读取APPsetting,而后关闭热更新 .UseStartup<Startup>() .Build(); }
AddJsonFile方法重载
方法重载,1文件夹2当不存在的时候是否抛异常3当文件改变时是否从新加载配置