ASP.NET IIS 7.5 HTTP 500.21错误

时间:2014-04-09 03:14:44

标签: asp.net iis

我在设置本地网站时遇到问题。

该项目正在使用ASP.NET Framework 4.0,我使用我的DefaultAppPool将4.0与托管管道模式一起使用为集成。

这是我得到的错误:

HTTP Error 500.21 - Internal Server Error
Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list

Module  IIS Web Core
Notification    ExecuteRequestHandler
Handler PageHandlerFactory-Integrated
Error Code  0x8007000d
Requested URL   http://localhost:80/default.aspx
Physical Path   C:\Snugabye\Website\default.aspx
Logon Method    Anonymous
Logon User  Anonymous

Most likely causes:
Managed handler is used; however, ASP.NET is not installed or is not installed completely.
There is a typographical error in the configuration for the handler module list.

Things you can try:
Install ASP.NET if you are using managed handler.
Ensure that the handler module's name is specified correctly. Module names are case-sensitive and use the format modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule".

在控制面板下 - >程序 - >打开/关闭Window功能所有我看到的是Microsoft .NET Framework 3.5.1,关于4.0没有什么我缺少的东西?

4 个答案:

答案 0 :(得分:46)

您是否在IIS中注册了.NET? 如果没有运行以下命令:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

您需要从提升的命令提示符(...以管理员身份运行)执行此操作。

答案 1 :(得分:4)

我猜这是基于你的.NET版本,你在Windows 7上。

根据.NET 4.0 Versions and Dependencies

  

(。NET 4.0)未作为Windows操作系统的一部分安装,但可以   在Windows XP,Windows Server 2003和更高版本上单独安装   Windows版本。

关注此link for an installer of .NET 4.0

安装后,您可能需要进行其他配置。请参阅this blog post

在链接丢失的情况下摘自博文:

在计算机上安装.NET Framework 4.0之后,需要对IIS进行一些配置更改才能运行ASP.NET 4.0页面:

首先将应用程序池设置为在ASP.NET v4.0“模式”下运行。

然后,您需要允许ASP.NET v4.0.x运行。这是在服务器级别上找到的ISAPI和CGI限制中完成的。

转到管理工具> Internet信息服务管理器>单击服务器。然后打开ISAPI和CGI限制>查找ASP.NET V4.0.XXX确保限制设置为允许。如果设置为“不允许”,请双击它,然后选中“允许扩展路径执行。点击确定。

注意:根据安装顺序,您可能还必须从命令行运行aspnet_regiis.exe -i以在IIS上“重新安装”ASP.NET。

Instructions for configuring ISAPI and CGI restrictions for IIS 7.5 on various Windows flavors.

答案 2 :(得分:4)

我遇到了同样的问题。当我在App pool.NET框架版本上检查时它是v2.0。我的应用程序与4.0兼容。我运行下面的命令解决了问题,现在我能够获得我的网络服务

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

但是在运行这些命令后,默认的.NET框架也改为v4.0

答案 3 :(得分:0)

您必须将IIS注册到框架4才能正确执行它。 您必须按照下面给出的开始菜单获取VS(已安装版本)命令提示符 开始 - >所有程序 - > Microsoft Visual Studio(已安装的版本) - > Visual Studio工具 - > Visual Studio命令提示符(已安装版本)

有关详情,请尝试以下链接: https://forums.asp.net/t/1587832.aspx?Problem+with+ExecuteRequestHandler+in+iis7

相关问题