在使用IIS 7经典管道时运行MVC应用程序时出现404错误

8

我有一个MVC应用程序,在cassini上运行正常,在IIS 6上也可以运行,但在IIS 7上存在问题。我认为我的问题与IIS 7如何处理集成的应用程序池中的线程有关。因此,为了测试我的理论,我正在尝试在IIS 7经典模式下运行我的MVC应用程序。我将我的应用程序池设置为经典模式,并添加了一个aspnet_isapi.dll的通配符脚本。根据我找到的所有文档,这就是我需要做的一切,以在IIS 7经典模式下运行MVC。然而,当我尝试访问网站时,我收到404错误。我错过了什么?

2个回答

4
你需要在经典模式下开启通配符脚本映射,这样MVC才能正常工作。否则,它期望存在一个.aspx文件(或类似文件),以便将执行管道从IIS传递到.NET。

在你的站点上找到“处理程序映射”图标,然后在右边找到“添加通配符脚本映射”。

将其映射到 c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 或你使用的框架版本。


你的回答节省了我很多时间,非常感谢。 - Vipul bhojwani

0

一些立即想到的事情:

  • 您的 Web 服务器可能没有安装 ASP.MVC 框架,而且您的 Web 应用程序部署不包括 MVC dll。
  • Web 站点背后的应用程序池未在 ASP.NET 模式下运行。
  • 您的 Web 组件不在您认为的位置上(简单的文件位置误解)

3
MVC应用程序在集成模式下运行。当我将它切换到经典模式时,开始出现404错误。 - DanielC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接