执行ASP.NET应用程序时,发生【HTTP错误500.21

本文将介绍在执行ASP.NET应用程序时,发生【HTTP错误500.21-Internal Server Error,处理常式 "PageHandlerFactory-Integrated" 的模块清单中有错误的模块 "ManagedPipelineHandler"】错误的故障排除


当您尝试在IIS 7.5上执行ASP.NET应用程序(以.NET Framework 4.0为例)时,遇到处理常式 "PageHandlerFactory-Integrated" 的模块清单中有错误的模块 "ManagedPipelineHandler"的错误时该如何排除,本文将提供可能的解决方案。

2011-09-27_174647

若您是先安装.NET Framework 4.0独立安装程序再启用IIS角色就可能遇到上述的错误消息,原因在于IIS角色在启用时并未更新现有的应用程序以使用ASP.NET 4 版本的应用程序集区 ,以及在 IIS Metabase 中未更新传统模式及 IIS 整合模式下ASP.NET 4的处理常式与命令对应,以至于出现上述的错误消息。

解决步骤如下:

  • Win + R开启执行窗口后输入cmd按确定,开启命令提示符。
  • 依据操作系统的位数切换至相对应的目录。
    • 32位的操作系统请切换至【%systemroot%Microsoft.NETFramework】。
    • 64位的操作系统请切换至【%systemroot%Microsoft.NETFramework64】。
  • 输入【aspnet_regiis -i】后按ENTER,下图的为在64位的操作系统下所做的范例。

image

依照上述步骤即可于IIS 7.5上执行ASP.NET 4.0应用程序。以本文所举的情境为例,建议要让ASP.NET顺利在IIS 7.5上执行的设定步骤如下:

  1. 启用IIS角色,并选取ASP.NET角色服务。
  2. 安装.Net Framework 4.0独立安装程序。

【参考数据】

  • ASP.NET IIS 注册工具 (Aspnet_regiis.exe)