Server 2003 IIS 错误

Server 2003 IIS 错误

我们一整天都在收到 IIS 错误 - 我们重新启动后,问题很快就解决了。在错误日志中,我们收到

为应用程序池提供服务的进程在关闭期间超出了时间限制。进程 ID 为“2260”。

我们的应用程序似乎分块死亡,所以它不会完全停滞 --> 但某些部分会因此错误而崩溃 -->

无法执行程序。正在执行的命令是“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe”/noconfig /fullpaths @“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\lms\6ae61309\7e6c5096\jywwvsao.cmdline”。

接下来,当您尝试通过 RDP 启动错误日志等时,您将收到“无法创建文档”错误 - 服务器仍在工作,但 IIS 完全停止工作 --> 我将尝试重新启动该服务,但收到一条错误消息:图像错误请根据您的安装软盘检查此情况或者 ”该应用程序未能正确初始化“类似这样的事情。

该磁盘已设置镜像 raid,iis 6

欢迎任何想法

答案1

出现此问题的原因可能是 ASP.NET 限制了调用可用于执行请求的工作线程和完成端口线程的数量。

通常,对 Web 服务的调用使用一个工作线程来执行发送请求的代码,并使用一个完成端口线程来接收来自 Web 服务的回调。但是,如果请求被重定向或需要身份验证,则调用可能会使用多达两个工作线程和两个完成端口线程。因此,当同时发生多个 Web 服务调用时,托管线程池可能会耗尽。

例如,假设线程池限制为 10 个工作线程,并且所有 10 个工作线程当前都在执行等待回调执行的代码。回调永远无法执行,因为排队到线程池的任何工作项都被阻止,直到有线程可用。

另一个潜在的争用来源是 System.Net 命名空间用来限制连接数的 maxconnection 参数。通常,此限制会按预期工作。但是,如果许多应用程序尝试同时向单个 IP 地址发出许多请求,则线程可能必须等待可用的连接。要解决这些问题,您可以调整 Machine.config 文件中的以下参数以最适合您的情况:

* maxWorkerThreads
* minWorkerThreads
* maxIoThreads
* minFreeThreads
* minLocalRequestFreeThreads
* maxconnection
* executionTimeout

要成功解决这些问题,请执行以下操作...

引言继续这里...如果这不起作用,你可以深入了解一下解释这里

答案2

我会检查 Windows 事件日志中是否存在其他错误。从您报告的错误来看,ASP.NET 似乎无法将 aspx/ascx 文件编译为临时程序集。

这可能是硬件/RAID/文件系统问题,导致 C# 编译器 (csc.exe) 失败。

相关内容