Windows Server 2008 64 位 IIS7.5 ASP.NET MVC4 发布问题

环境与配置:

ASP.NET MVC 4

WINDOWS SERVER 2008 64 位

应用程序池是选择的 .NET 4.0 与经典模式

在新建一个MVC 4 项目发现到服务器上后出现:

HTTP 错误 404.2 - Not Found

由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。

解决方法

其实出错时已经给了解决思路:

1.打开 IIS 管理器并定位到服务器级别。 
2.在“功能”视图中,双击“ISAPI 和 CGI 限制”以确认 Web 服务扩展被设置为“允许”。 
3.如果该扩展不在列表中,请在“操作”窗格中单击“添加”。 
4.在“添加 ISAPI 和 CGI 限制”对话框中,在“ISAPI”或“CGI 路径”框中键入 .dll 或 .exe 文件的路径,或者单击“浏览”导航到相应文件的位置。 
5.在“描述”框中,键入该限制的简要说明。 
6.(可选)选中“允许执行扩展路径”以使限制可以自动运行。如果不选中此选项,则限制状态将为“不允许”,这是默认状态。您可以在以后选中此选项并单击“操作”窗格中的“允许”来允许该限制。 
7.单击“确定”。

文字描述不直观,还是用图来说明吧:

1,image

2.image

同时还要将限制设置为允许。

效果

image

后续

在把应用池换成“集成模式”,就出现了。

HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装

解决:开始->所有程序->附件->鼠标右键点击“命令提示符”->以管理员身份运行->%windir%Microsoft.NETFrameworkv4.0.30319aspnet_regiis.exe -i

如果还不行,可检查IIS的应用程序池,是否使用集成模式,如果不是则改成集成模式

image 

重新注册一下就OK了。

原文地址:https://www.cnblogs.com/Alex80/p/7919137.html