Answers:
只要您“触摸” web.config,就会重新启动ASP.NET AppDomain。可以关闭文件夹的文件更改通知(FCN),但如果可以的话,通常不是最好的选择。如果您确实将其关闭,则仅意味着您需要手动回收应用程序池以使更改生效。
在IIS7之前,只有ASP.NET更改会导致AppDomain回收,但是对于IIS7和web.config中存在的许多设置,这是一个更常见的问题。例如,在IIS 7管理器中更改默认文档将导致AppDomain立即回收。
理想情况下,您只需要降低更改率,或者有时将更改应用到applicationHost.config(不会导致AppDomain回收)而不是web.config。
更改后,使用web.config的应用程序将重新启动,此处有更多信息:
http://msdn.microsoft.com/en-us/library/ms178473.aspx
我不知道有什么方法可以防止这种情况的发生(而且我不确定您为什么要这么做-也许您可以提供更多有关要实现的目标的详细信息)。
仅供参考-在ASP.NET 2.0中,您可以使用内置的运行状况监视事件来记录应用程序重新启动以及重新启动的原因。这将使您能够清楚地记录其发生的时间和频率。这是通过编辑计算机的主web.config完成的。
欲获得更多信息:
[请注意]
我知道这是一个古老的例子,但这仍然值得一提。
Scott Forsyth-MVP答案不正确。
只要您“触摸” web.config,就会重新启动ASP.NET AppDomain。
错了
拂尘答案是技术上最正确,最完整的答案,因为它包含指向MSDN的链接,该链接包含一个重要的细节:
当需要重新启动应用程序时,ASP.NET将在重新启动应用程序域并加载新程序集之前,处理来自现有应用程序域和旧程序集的所有待处理请求。
当我们谈论Web服务时,这一点尤其重要。这表明安全地进行午间重启可能是可以的。