2

我有一个应用程序,它的应用程序池每天关闭几次,我不知道为什么。该网站托管在带有 SQL Server R2 的 VM 上。IIS 的版本是 7,网站有一个使用 .NET 框架 v4.0.30319 的专用应用程序池。

在应用程序级别,该网站使用 4.5 的目标框架,并且似乎在 24-48 小时内运行良好,然后由于某种原因应用程序池停止了。我们确实在这台机器上运行了其他 .NET 4.5 应用程序,它们的应用程序池没有这个问题。此应用程序唯一略有不同的是,我们会启动一个单独的线程来在订单完成时发送订单确认电子邮件。我们平均每天为这个网站订购大约几百个订单。

根据事件日志,关机前报告的错误是

“为应用程序池“RetailSupport”提供服务的进程与 Windows 进程激活服务发生了致命的通信错误”

请帮忙

4

1 回答 1

1

我会检查,如果您的代码在某些情况下可能会遇到无限循环或方法的递归调用。这通常是此错误的原因。

在这种情况下总是对我有帮助的是在您的情况下添加调试日志(例如 log4net),特别是在发送电子邮件之前,有关资源的状态信息等。它们可以比 IIS 日志提供更多信息。

如果这没有帮助,请检查http://support.microsoft.com/kb/919789/en如何使用调试诊断工具,以获取有关错误的更多详细信息。

还要寻找IIS:Web 应用程序定期挂起需要系统重新启动它可以帮助您。

另外:您对 IIS 有什么回收策略?

于 2014-01-28T15:06:17.383 回答