编辑配置导致iis回收吗?

时间:2016-08-11 08:05:03

标签: iis configuration asp.net-core appsettings

saw在asp.net旧版本中,编辑配置会导致回收。 (所以我们为动态配置实现了自己的库,以避免回收)。

现在我正在编写新的asp.net核心应用程序,如果使用内置配置(例如:

),我还没有看到任何有回收的地方
.AddJsonFile("appsettings.json", optional: true, **reloadOnChange: true**)

那么,我可以在不预期停机的情况下使用它吗?

1 个答案:

答案 0 :(得分:2)

AFAIK,编辑配置不会导致IIS回收。其中一个原因可能是IIS现在仅仅作为a reverse proxy,并且应用程序本身作为使用Kestrel HTTP服务器的单独进程运行(如果您使用Kestrel)。

如果你需要抓住时机,当配置发生变化时,你可以使用配置重新加载令牌(Microsoft.Extensions.Configuration.ConfigurationReloadToken):

var config = builder.Build();
var token = config.GetReloadToken();
token.RegisterChangeCallback(_ =>
{
    Console.WriteLine("Changed");
}, null);

但是请注意,令牌只会触发一次,因此如果需要,需要在回调中使用代码。