我在 Windows Server 2008 的 IIS 7 上运行 ASP.NET 3.5 Web 应用程序。
我今天下午早些时候收到以下错误:
HTTP 错误 503。服务不可用。
我查看了事件日志并发现:
服务于应用程序池“Classic .NET AppPool”的进程与 Windows Process Activation Service 发生致命通信错误。进程 ID 为“3328”。数据字段包含错误编号。
以下是该事件的全部详细信息:
Log Name: System
Source: Microsoft-Windows-WAS
Date: 18/09/2009 14:58:31
Event ID: 5011
Task Category: None
Level: Warning
Keywords: Classic
User: N/A
Computer: computername
Description:
A process serving application pool 'Classic .NET AppPool' suffered a fatal communication error with the Windows Process Activation Service. The process id was '3328'. The data field contains the error number.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-WAS" Guid="{5 .. 0}" EventSourceName="WAS" />
<EventID Qualifiers="32768">5011</EventID>
<Version>0</Version>
<Level>3</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2009-09-18T13:58:31.000Z" />
<EventRecordID>23552</EventRecordID>
<Correlation />
<Execution ProcessID="0" ThreadID="0" />
<Channel>System</Channel>
<Computer>computername</Computer>
<Security />
</System>
<EventData>
<Data Name="AppPoolID">Classic .NET AppPool</Data>
<Data Name="ProcessID">3328</Data>
<Binary>6D000780</Binary>
</EventData>
</Event>
这导致:
应用程序池“Classic .NET AppPool”由于服务该应用程序池的进程中的一系列故障而被自动禁用。
以下是该事件的全部详细信息:
Log Name: System
Source: Microsoft-Windows-WAS
Date: 18/09/2009 15:03:05
Event ID: 5002
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: computername
Description:
Application pool 'Classic .NET AppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-WAS" Guid="{5 .. 0}" EventSourceName="WAS" />
<EventID Qualifiers="49152">5002</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2009-09-18T14:03:05.000Z" />
<EventRecordID>23557</EventRecordID>
<Correlation />
<Execution ProcessID="0" ThreadID="0" />
<Channel>System</Channel>
<Computer>computername</Computer>
<Security />
</System>
<EventData>
<Data Name="AppPoolID">Classic .NET AppPool</Data>
<Binary>
</Binary>
</EventData>
</Event>
结论是:HTTP 错误 503。服务不可用。
谁能帮我确定这是怎么发生的,以及我需要做些什么来防止它在未来发生。
最佳答案
这是一个非常讨厌的人。我建议获取 IIS Debug Diagnostics工具。您可以通过关闭应用程序池属性中的“快速失败保护”来缓解症状,但这只会掩盖问题。发生的事情是您的应用程序如此频繁/如此反复地遇到异常,以至于服务自行关闭。您需要运行诊断工具来捕获进出的所有内容,以找到正在发生的异常。
这可能是一项非常费力的任务,因为该工具会收集数 GB 的垃圾进行筛选。如果幸运的话,关闭“快速失败保护”可能会让异常继续传递到浏览器,但我的猜测是服务器最终会挂起。
关于asp.net - 服务于应用程序池 'Classic .NET AppPool' 的进程与 Windows Process Activation Service 发生致命通信错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1445566/