如果我对文件进行更改:
%windir%\system32\inetsrv\config\applicationHost.config
并通过更改更新它以产生有效的配置,这会导致 IIS7 重新启动并强制重新启动所有应用程序吗?
我正在使用服务器的热克隆虚拟机尝试这一点,但想知道是否有人经历过这两种情况,预期结果应该是什么。
非常感谢
答案1
我整理了一段短片上周刚刚发布了这篇文章。它介绍了 AppDomains 和 AppPools 之间的差异以及导致回收的原因。我介绍了导致完全回收和 AppDomain 回收的各种设置更改。我还介绍了如何判断是否发生了回收以及会产生什么影响。
简短的回答是,这取决于具体情况。单独“修改”applicationHost.config 不会导致任何级别的回收,但某些配置更改会。 任何更改 .NET 的 machine.config 或 root web.config 将导致服务器上针对该框架版本的 AppDomain 回收。对站点的 web.config 的任何更改都将导致该站点的 AppDomain 回收。
答案2
如果您编辑应用程序池属性,则应用程序池应该回收(默认情况下,除非设置了 disallowrotationonconfigchange,或其现代等效项)。
否则,不,我能想到的任何 system.webServer 更改都不会导致应用程序池重新启动。
但是,如果您使用的是.Net,修改web.config值可能会导致应用程序重新启动(AppDomains)。