asp.net - 服务于应用程序池 'Classic .NET AppPool' 的进程与 Windows Process Activation Service 发生致命通信错误

标签 asp.net http iis-7 http-status-code-503

我在 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/

相关文章:

c# - 如何在 mvc4 中使用 href 链接一个 cshtml 页面

c# - 检测重复插入

Git配置没有更改用户名

.net - 如何使用Powershell和Web管理提供程序导出IIS7站点和应用程序池设置?

parsing - 解析IIS7日志: Anything Google Analytics-like?

c# - ASP.NET C#,需要按两次按钮才能发生某些事情

c# - Visual Studio 2010 : Import csproj into another csproj "injected" via svn-externals

java - 将 POST 数据从一个 servlet 调用到另一台服务器

http - cookie "metadata"(expires, path,...) 是否传输到服务器?

python - 运行 python cgi 脚本解释器结果因浏览器而异