2017-09-27 44 views
1

我有一个运行在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. 
} 

选项看起来仍然是应用程序启动时存在的相同选项。任何想法,他们为什么不重新加载?

回答

2

使用IOptionsSnapshot<>如果您需要它响应配置的变化

相关问题