当我在运行中的应用程序中保存web.config更改时会发生什么?

6
当应用程序正在运行时,我保存web.config更改会发生什么?我之所以问这个问题是因为我现在正在开发一个建立在电子商务平台之上的网站/ Web 应用程序。看起来在随机时间间隔内,该网站将停止响应。当此情况发生时,应用程序池的处理过程是正常的(当时没有荒谬的内存或 CPU 使用率)。当我对web.config进行小的更改-例如添加空格或删除空格,然后保存-网站似乎会恢复。我认为通过了解保存后的事件序列,我可以缩小问题可能的原因范围。
编辑:我应该提到我们正在运行IIS 6。

这个问题是:“为什么我保存Web.Config后应用程序池会回收?”还是“我的Web应用程序因未知原因停止响应,但重新启动应用程序池可以解决。如何诊断?” - Jacob G
部分取决于AppPool的配置方式。但是一般来说,当您在IIS中部署新内容到Web应用程序时,应用程序将重新启动。更改Web.Config被视为“部署新内容”。 - Jacob G
嗯,好的。我担心无论是什么,都在电子商务平台的代码内部 - 当然这是不开源的,所以我对此无能为力。无论如何,感谢您的帮助。 - Chris
1
@Jacob:这不是真的。当您部署新内容时,除非该新内容包括新的web.config或更改bin文件夹的内容,否则AppDomain将不会重新启动。 - John Saunders
1
@John:谢谢你的澄清。我没有意识到它只能是程序集或web.config文件。 - Jacob G
显示剩余2条评论
1个回答

4

这是预期的行为。它运行的AppDomain停止接受新工作,然后启动一个新的AppDomain。


那么你认为AppDomain中的某些内容导致了站点失去响应?我只是想知道为什么我看不到高CPU使用率或内存使用率,但站点直到对web.config进行更改后才会响应。 - Chris
"在AppDomain中的某些东西" - 一切都在AppDomain中。所有的代码。所有的数据。所以,“在AppDomain中的某些东西”出了问题。 - John Saunders
1
我认为,如果重新加载应用程序域可以修复您的应用程序,那么您的应用程序中有某些地方出现了挂起或无响应的情况。 - Joe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接