fateame 发表于 2015-5-1 10:28:12

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,
  2.
  
  同时还要将限制设置为允许。
  
效果
  
  

  
后续
  在把应用池换成“集成模式”,就出现了。
     HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
  
  原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装
  解决:开始->所有程序->附件->鼠标右键点击“命令提示符”->以管理员身份运行->%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
  如果还不行,可检查IIS的应用程序池,是否使用集成模式,如果不是则改成集成模式
  
  
  

  重新注册一下就OK了。
页: [1]
查看完整版本: Windows Server 2008 64 位 IIS7.5 ASP.NET MVC4 发布问题