我们的一小部分网站偶尔会遇到一个对我们来说很神秘的错误。
我们的build立是:
症状是:站点的应用程序池停止,当您浏览到站点时,您只能看到:
暂停服务
在事件日志中,我们有一个错误 ,如下所示:
应用程序池“AppPool1”由于服务该应用程序池的进程中的一系列故障而被自动禁用。
我们有几个警告导致错误,看起来像这样( 注意:警告看起来是相同的,除了进程ID):
服务应用程序池“AppPool1”的进程遭遇了与万维网发布服务的致命通信错误。 进程ID是“292”。 数据字段包含错误编号。
这是什么原因造成的? 正如我所说,它不会经常发生…最后一次是大约6个月前…它通常发生在同一个网站/应用程序池。
有任何想法吗?
干杯!
应用程序池被禁用的原因是因为快速失败保护打开,所以在一些应用程序池故障后,将停止池而不是重新启动它。
您可以禁用快速失败保护,但显然这意味着您仍然收到错误,并且每次只重新启动应用程序池; 最好的解决办法是找出为什么它首先崩溃。
不幸的是,从IIS获得的错误消息并不是非常有用,所以为了更好地了解导致崩溃的原因,您需要运行IISdebugging工具(如DebugDiag或IISState)以获取有关该错误的更多信息。
这可能是一个网站正在运行的特定代码的问题,或者如果它发生在多个网站,那么也许是更一般的东西。 运行这些工具应该让你更好地了解是什么造成的。