将asp.net mvc beta部署到iis 6导致404

Guy*_*Guy 14 asp.net-mvc iis-6 http-status-code-404

在IIS 6上部署时,我正在努力解决来自asp.net mvc beta的404错误.我通过在IIS中映射.mvc在其中一个预览中工作,但这不再有效.我已经在网上阅读了奥马尔的帖子以及其他几个人,并尝试了他们的解决方案但到目前为止没有运气.

主页在IIS 6上打开没有问题,但其他404和该站点在IIS 7上运行良好.

有没有人成功将IIS.net mvc beta部署到IIS 6?如果是这样,您需要对代码和/或IIS设置进行哪些调整才能使其正常工作?

Guy*_*Guy 26

我从史蒂夫桑德森的博客(谢谢史蒂夫)找到了我的问题的解决方案:

使用通配符映射aspnet_isapi.dll.这告诉IIS 6使用ASP.NET处理所有请求,因此总是调用路由,并且没有问题.它很容易设置:

  • 打开IIS管理器(运行 - > inetmgr - >确定)
  • 右键单击您的应用程序,转到"属性"
  • 然后单击主目录选项卡,然后单击配置.
  • 在通配符应用程序映射下,单击"插入"(不是"添加",这在上面是令人困惑的)
  • 然后为"Executable"输入C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,并取消选中验证该文件是否存在.

  • 完善!一个半小时后,我的头撞在墙上,这解决了我的问题. (2认同)
  • 哇...谢谢 - 马上解决了我的问题! (2认同)

Twe*_*eZz 5

我似乎还没有写评论.所以我会写一个新答案.

stackoverflow上有一些类似的问题.我正在使用MVC 3.我知道问题与MVC 2有关.但由于这是我遇到的第一个stackoverflow帖子,我认为值得一提的是:

  • 当您使用MVC 3时,您需要添加一个新的扩展映射与.NET 4框架的可执行文件(C:\ WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll)

<edit>我发现我甚至不需要设置扩展映射.</编辑>

  • 它仍然不适用于我:)我仍然必须在IIS的Web服务扩展部分'允许'ASP.NET v4.0.30319:
    • 打开IIS
    • 单击服务器节点
    • 打开"Web服务扩展"部分
    • 选择ASP.NET v4.0 ....
    • 右键单击 - >允许好去!