基於上一節 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當文件改變時是否從新加載配置