Asp.net

為應用程序池“Classic .NET AppPool”提供服務的程序與 Windows 程序啟動服務發生了致命的通信錯誤

  • September 18, 2009

我在 Windows Server 2008 上的 IIS 7 上執行 ASP.NET 3.5 Web 應用程序。

今天下午早些時候我收到以下錯誤:

HTTP Error 503. The service is unavailable.

我查看了事件日誌並發現:

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.

以下是該活動的全部詳情:

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>

這導致:

Application pool 'Classic .NET AppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.

以下是該活動的全部詳情:

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 調試診斷工具。您可以通過關閉應用程序池屬性中的“快速故障保護”來緩解症狀,但這只會掩蓋問題。發生的事情是您的應用程序經常/重複地遇到異常,以至於服務會自行關閉。您需要執行診斷工具來擷取進出的所有內容,以查找正在發生的異常。

這可能是一項非常費力的任務,因為該工具將收集千兆字節的垃圾進行篩選。如果幸運的話,關閉“快速故障保護”可能會允許異常進入瀏覽器,但我的猜測是伺服器最終會掛起。

引用自:https://stackoverflow.com/questions/1445566