reloadOnChange不工作在.NET Core 2
问题描述:
我有一个运行在netcore2下的ASP.NET Core 2项目。我重写BuildWebHost在新的JSON配置文件添加像这样:reloadOnChange不工作在.NET Core 2
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.AddJsonFile("mysettings.json", optional: false, reloadOnChange: true);
})
.UseStartup<Startup>()
.Build();
然而,在控制器一个ActionFilter,我试图抓住它,像这样:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
var options = filterContext.HttpContext.RequestServices.GetService(typeof(IOptions<MySettings>));
/// Do something with the options.
}
选项看起来仍然是应用程序启动时存在的相同选项。任何想法,他们为什么不重新加载?
答
使用IOptionsSnapshot<>
如果您需要它响应配置的变化