我有一个应用程序,它有一个应用程序池,每天关闭几次,我无法弄清楚原因。该网站托管在具有SQL Server R2的VM上。 IIS的版本是7,网站有一个使用.NET framework v4.0.30319的专用应用程序池。
在应用程序级别,该网站使用4.5的目标框架,并且似乎运行24-48小时,然后由于某种原因应用程序池停止。我们确实在这台机器上运行了其他.NET 4.5应用程序,它们的应用程序池没有这个问题。这个应用程序唯一略有不同的是,我们在订单完成时启动一个单独的线程来发送订单确认电子邮件。我们平均每天为这个网站订购几百个订单。
根据事件日志,关闭前报告的错误是
“为应用程序池提供服务的过程'RetailSupport'与Windows进程激活服务发生致命的通信错误”
请帮忙
答案 0 :(得分:1)
我会检查,如果你的代码在某些情况下可能会无限循环或递归 召集方法。这通常是造成此错误的原因。
在这种情况下,总能帮助我的是在您的情况下添加调试日志(例如log4net),特别是在发送电子邮件之前,有关资源的状态信息等。它们可以提供比IIS日志更多信息。
如果这没有帮助,请检查http://support.microsoft.com/kb/919789/en如何使用调试诊断工具,以获取错误的更多详细信息。
另请注意IIS: Web Application hangs periodically needs system reboot它可以帮到你。
另外:你有什么回收策略吗?