14

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

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

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

4

3 回答 3

26

我从Steve Sanderson 的博客中找到了解决问题的方法(感谢 Steve):

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

  • 打开 IIS 管理器(运行 -> inetmgr -> 确定)
  • 右键单击您的应用程序,转到属性
  • 然后主目录选项卡,然后单击配置。
  • 在通配符应用程序映射下,单击插入(不是添加,这在上面令人困惑)
  • 然后在“可执行文件”中输入 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,并取消选中验证文件是否存在。
于 2008-10-27T15:36:35.690 回答
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....
    • 右键单击-> 允许好去!
于 2011-01-04T15:07:02.060 回答
1

网址重写可以帮助您解决问题。我已经实现了允许在任何 IIS 版本上部署 MVC 应用程序的解决方案,即使使用虚拟主机也是如此。 http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx

于 2009-11-24T06:22:24.487 回答