进程服务应用程序池“经典.net应用程序池遇到致命的通信错误与Windows进程激活服务(A pro

2019-07-18 12:45发布

我运行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服务不可用。

会有人请帮我找出如何发生的,我需要做的,以防止它在未来发生什么。

Answer 1:

这一个是非常讨厌的。 我建议得到了IIS调试诊断工具。 您可以在您的应用程序池的属性关闭“快速失败保护”可能缓解症状,但将只是掩盖了问题。 这是怎么回事是您的应用程序正在经历一个异常经常/如此反复,服务自行关闭。 你需要运行诊断工具来捕获所有进出找到真实存在的异常。

这可能是一个非常艰苦的任务,因为该工具会收集垃圾的千兆去筛选。 如果你幸运的话,关闭“快速失败保护”的可能允许例外,通过进入到浏览器,但我的猜测是,服务器最终只会挂。



Answer 2:

如果您正在使用NServiceBus确保任何帐号的应用程序池下运行有权限读出的消息队列。

NServiceBus运行在10秒后是timesout,导致如果它不能从队列中读取w3wp进程被杀死的应用启动一个后台任务。 N(5默认)W3WP崩溃快速失败保护踢和停止应用程序池之后。

http://blog.jonathanoliver.com/2010/11/nservicebus-w3wp-exe-processes-crashing/



Answer 3:

它很可能是由一个无限循环引起的。

(我有同样的问题。)所以,你将不得不寻找在代码使用循环,看看是否移除其中一个停止错误的地方。 一旦你找到了罪魁祸首,那么你可以尝试找出什么导致它无限循环。



Answer 4:

我只是跟踪和修正同样讨厌的问题。 一对夫妇的事情,可能会导致问题:

  • 甲Server.Transfer的()循环
  • 在某些情况下调用CurrentThread.Abort()。(像Server.Transfer的()后!)

修复那些东西是什么固定它给我们。



Answer 5:

我有这个问题,在事件查看器有“模块DLL C:\ WINDOWS \ SYSTEM32 \的RpcProxy \ RpcProxy.dll的加载失败的数据是错误。” 这篇文章不得不更正此步骤: http://forums.iis.net/t/1154189.aspx



文章来源: A process serving application pool 'Classic .NET AppPool' suffered a fatal communication error with the Windows Process Activation Service