编辑配置是否导致 iis 回收?

Is editing configuration cause iis recycle?

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

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

.AddJsonFile("appsettings.json", optional: true, **reloadOnChange: true**)

那么,我可以在没有停机时间的情况下使用它吗?

据我所知,编辑配置不会导致 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);

但请注意,令牌只会触发一次,因此如果需要,需要在回调中包含更改令牌的代码。