【发布时间】:2010-02-04 19:37:22
【问题描述】:
当我在应用程序运行时保存对 web.config 的更改时会发生什么?我问的原因是我现在正在开发一个建立在电子商务平台之上的网站/网络应用程序。在看似随机的时间间隔内,该站点将停止响应。应用程序池的进程是正常的(发生这种情况时没有荒谬的内存或 CPU 使用)。当我对 web.config 进行一些小的更改时(例如添加空格或删除空格,然后保存),该站点似乎又回来了。我认为通过更多地了解保存后的事件顺序,我可以缩小问题的潜在原因。
编辑:我应该提到我们在 IIS 6 上运行。
【问题讨论】:
-
是问题 - “为什么在我保存 Web.Config 后 AppPool 会回收?”或者,它是 - “我的网络应用程序因未知原因停止响应,但回收 AppPool 解决了它。我该如何诊断?”
-
问题是,“当我保存 web.config 时会发生什么?”答案是“AppPool 被回收了吗?”我不知道是不是这样,除非 AppPool 的进程 ID 保持不变。
-
是的,AppDomain 被回收了。每个 AppDomain 只读取一次配置文件。需要回收 AppDomain 才能使配置文件中的更改生效。
-
@Jacob:这不是真的。部署新内容时,AppDomain 不会重新启动 - 除非新内容包含新的 web.config,或更改 bin 文件夹的内容。
-
@John:感谢您的澄清。我没有意识到它只是程序集或 web.config。
标签: .net web-config