我正在运行一个ASP.Windows Server 2008上IIS 7上的NET 3.5 web应用程序.

今天下午早些时候,我收到了以下错误:

HTTP Error 503. The service is unavailable.

我查看了事件日志(log),发现:

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.服务不可用.

请有人帮我确定这是怎么发生的,我需要做些什么来防止它在future 发生.

推荐答案

这是一个非常糟糕的问题.我建议买IIS Debug Diagnostics个工具.您可能可以通过关闭应用程序池属性中的"快速故障保护"来缓解症状,但这只会掩盖问题.发生的情况是,您的应用程序经常/反复出现异常,导致服务自动关闭.您需要运行诊断工具来捕获进出的所有信息,以发现正在发生的异常.

这可能是一项非常艰巨的任务,因为该工具将收集千兆字节的垃圾进行筛选.如果幸运的话,关闭"快速故障保护"可能会让异常继续进入浏览器,但我猜服务器最终会挂起.

Asp.net相关问答推荐

Razor 页面客户端站点验证不起作用

单个方法(即扩展方法)之间的调用不明确

如何在没有 Select 按钮的情况下在 GridView 中实现全行 Select ?

如何在 ASP.NET 全球化中配置不变文化?

业务线应用程序:F# 会让我的生活变得轻松吗?

ASP.Net - App_Data & App_Code 文件夹?

登录成功后 User.Identity.IsAuthenticated 为 false

更新到 ASP.NET Core 2.0 - 包与 netcoreapp2.0 不兼容

返回 JSON 对象 (ASP.NET WebAPI)

ASP.NET-MVC 中的表单发布上的 FormCollection 为空

如何从 web.config 中读取系统值并在 ASP.NET MVC C# 方法中使用

如何配置 ASP.NET Core 1.0 以使用本地 IIS 而不是 IIS Express?

是否可以在 web.config 中添加响应 http 标头?

如何使用 ASP.NET 和 jQuery 返回 JSON

<%# Eval("State") %> 或 <%# DataBinder.Eval(Container.DataItem, "state")%>

由 UpdatePanel 内 GridView 内的 LinkBut​​ton 触发的完整回发

如何验证 WebClient 请求?

投票有什么问题?

在 Asp.Net MVC 5 中获取登录用户的用户 ID

Request.UserHostAddress 和 Request.ServerVariables["REMOTE_ADDR"].ToString() 有什么区别