IIS7.5 - 更改默认文档时防止回收

IIS7.5 - 更改默认文档时防止回收

IIS 7.5 中是否有任何设置可以防止它在默认文档更改时回收应用程序池?

据我所知,这在 IIS 6 中没有发生,我希望恢复这种行为。

答案1

这是由委托配置引起的。在 IIS7+ 中,可以将设置写入 web.config(默认情况下会这样做)。触碰 web.config 会导致 appdomain 回收。

您有几个解决方案。一个是关闭委派配置,但这需要考虑一些因素,例如确保您的 web.config 文件中没有设置,否则会导致网站崩溃。

另一种选择是使用配置编辑器或文本编辑器将您的设置应用到 applicationHost.config 而不是 web.config。

要了解更多信息,您可以观看我的第 17 周视频系列在 IIS 上。

答案2

实际上,你可以通过多种方式阻止回收:

  • 设置HKLM\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\FCNMode为 DWORD 值1(系统范围)。
  • <httpRuntime fcnMode="Disabled"/>在你的web.config(ASP.NET 4.5+)中使用
  • “禁用配置回收”True(每个 AppPool)
  • 设置numRecompilesBeforeAppRestart为一个高值web.config(据我所知,这是在 ASP.NET 1.0 和 1.1 上至少在一定程度上有效的唯一方法)。

有关每个选项的更多详细信息我在 StackOverflow 上的回答

相关内容