【发布时间】:2010-12-02 11:39:49
【问题描述】:
我们在 QA 实验室中发现了一种奇怪的模式。我们有两个 ASP.NET 应用程序,每个应用程序都部署在同一个 Windows 2008 SP2+ 机器上。我们的应用程序池在域帐户中运行,并设置为永不循环。两个应用程序使用相同的 1 App Pool。
在正常运行几个小时后,新用户浏览我们应用程序中的某个页面时会收到 IIS7 错误页面,并显示 500.21 错误。
如果我们什么都不做:
1) IISRESET 2) 将文件夹更改为 c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files 并“rd”这两个应用程序。
然后浏览我们的网络应用程序,一切都很好。
然而,几个小时后,500.21 错误又回来了。
让我感到奇怪的是清除“临时 ASP.NET 文件”文件夹与问题消失之间的关系。在安装我们的应用程序的新版本时,我会清除“临时 ASP.NET 文件”文件夹,否则不会。
这种关系对任何人来说都很熟悉吗?这里有一些新的 IIS7 功能吗?
错误文本:
应用程序“DEFAULT WEB SITE/PAIS”中的服务器错误
互联网信息服务 7.0
错误摘要
HTTP 错误 500.21 - 内部服务器错误
处理程序“PageHandlerFactory-Integrated”的模块列表中有一个错误模块“ManagedPipelineHandler”
详细的错误信息
模块 IIS Web 核心
通知 ExecuteRequestHandler
处理程序 PageHandlerFactory-Integrated
错误代码 0x8007000d
请求的网址http://localhost:80/PAIS/Admin.aspx
物理路径 C:\0_Georgia\GA_IS_100142\PortfolioArchiveImageServer\Admin.aspx
登录方式匿名
登录用户匿名
最可能的原因:
• ASP.NET 未安装或安装不完整。
• 出现配置印刷错误。
• 存在不利的前置条件评估。
您可以尝试的事情:
• 如果缺少 ManagedPipelineHandler,请确保:
o ManagedEngine 位于 .
o ManagedPipelineHandler 在 中,前提条件正确。
• 安装 ASP.NET。
• 确保所有 system.webServer/handlers@modules 都在 system.webServer/modules@name 中。
• 查看和部分中的先决条件。
链接和更多信息 IIS 核心无法识别该模块。
查看更多信息 »
提前致谢,
霍华德霍夫曼
【问题讨论】:
-
可以贴出错误页面的全文吗?
-
另外,我会将每个应用程序拆分到自己的 AppPool 中,看看您是否可以缩小问题范围。
-
请注意,我们采纳了 David 的建议并分成 2 个池。我还可以添加重新循环应用程序池,而不是运行 IISReset + 删除 Temporary ASP.NET Files GAGI 文件夹,似乎也可以解决问题。问题仍然是......为什么?