2014-04-09 151 views
13

我在设置本地站点时遇到问题。ASP.NET IIS 7.5 HTTP 500.21错误

该项目正在使用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". 

在控制面板 - >程序 - >打开窗口功能开启/关闭所有我看到的是微软的.NET Framework 3.5.1和4.0关于什么是有什么我失踪了?

+0

什么味道/版本,请以后? –

+1

我正在使用Windows 7 – user1269625

+0

Dipak Patil和iberodev都发布了答案,让我解决了这个问题。你会考虑标记你的问题吗? 还是你还有这个问题? –

回答

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中之后有一些配置变化,你需要做的,以获得一个ASP.NET到IIS 4.0页面正在运行:

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

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

转到管理工具> Internet信息服务管理器>单击服务器,然后打开ISAPI和CGI限制>查找ASP.NET V4.0.XXX请确保限制设置为允许。宠物,双击它,并检查执行允许扩展路径点击OK

注意:根据安装的顺序,你可能还需要运行命令行“重新安装” aspnet_regiis.exe -i ASP.NET上的IIS。

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

+0

当我安装.NET 4.0时,它说“这台计算机上已经安装了相同或更高版本的.NET Framework 4。”我应该卸载并重试吗? – user1269625

+0

不,请参阅在此博客文章中找到的答案中添加的其他配置选项:http://frejnorling.wordpress.com/2011/02/13/configure-iis-7-5-to-manage-asp-net- 4-0-web-pages /(在回答编辑处也提到) –

+0

我不知道ISAPI和CGI是什么。 – user1269625

40

你有没有与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 

您需要从提升的命令提示符(...以管理员身份运行)做到这一点。

+0

究竟是什么医生开处方! – tatigo

4

我正面临同样的问题。当我检查App Pool.NET框架版本时,它是v2.0。我的应用程序与4.0兼容。我跑了下面的命令已修复问题,现在我能够得到我的Web服务

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 framwork也改为V4.0的Windows/SP的

+0

基本上重复下面的答案,对吧? :P – mikus

+0

使用'aspnet_regiis -ir'安装ASP.NET的版本,但不会将任何Web应用程序更改为此版本。 – Brettski