【问题标题】:Asp.net IIS6 - application pool recycleAsp.net IIS6 - 应用程序池回收
【发布时间】:2025-12-02 13:00:02
【问题描述】:

我在 Windows 2003 IIS 6.0 上运行 ASP.NET 网站

每 24-28 小时我都会收到以下错误:

当错误发生时,所有用户都与网站断开连接。

Event Type: Warning
Event Source:   W3SVC
Event Category: None
Event ID:   1013
Date:       02/02/2010
Time:       19:29:38
User:       N/A

A process serving application pool 'DefaultAppPool' exceeded time limits during 
shut down. The process id was '1660'. 

For more information, see Help and Support Center at   
   http://go.microsoft.com/fwlink/events.asp.

知道错误是什么意思吗?

这与应用程序池回收有关吗?

如果是这样,回收 IIS 应用程序池是否“必须”?

【问题讨论】:

  • 和其他不太一样是IIS强制回收,这个是正常回收。
  • 强制与否,应用程序池回收存在,然后您应该避免进程内会话模式(这意味着新的工作进程不会保留以前的会话)。这种设计上的改变可以保证你不会得到“所有用户都与网站断开连接”。后者是一个问题,而回收是无辜的。
  • 其中一个答案是否回答了您的问题?

标签: asp.net iis-6 windows-server-2003


【解决方案1】:

是的,这是 IIS 运行清理并回收应用程序池。您可以通过更改应用程序池上的设置来更改其工作方式..

IIS 6 Configuring Worker Processes for Recycling

【讨论】:

    【解决方案2】:

    这也可能是由您的应用程序的线程池中的死锁引起的。您可能需要调整 machine.config 中的工作线程或更改回收设置,以根据进程或虚拟内存调整回收发生的频率/时间。

    Contention, poor performance, and deadlocks when you make Web service requests from ASP.NET applications

    【讨论】:

    • 除非收集到更多信息,否则我个人认为遵循该知识库文章不是一个好主意。事件日志中的此类警告通常是无害的(如果同时没有观察到其他错误)。
    最近更新 更多