我有一个ASP。在netcore2下运行的NET Core 2项目。我正在重写BuildWebHost以添加一个新的JSON配置文件,如下所示:
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.
}
这些选项似乎仍然与应用程序启动时存在的选项相同。知道他们为什么不重新加载吗?