Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 404在IIS 7经典管道上运行MVC应用程序时出错_Asp.net Mvc_Iis 7 - Fatal编程技术网

Asp.net mvc 404在IIS 7经典管道上运行MVC应用程序时出错

Asp.net mvc 404在IIS 7经典管道上运行MVC应用程序时出错,asp.net-mvc,iis-7,Asp.net Mvc,Iis 7,我有一个可以在cassini上运行的MVC应用程序,可以在IIS 6上运行,但是我在IIS 7中遇到了问题。我认为我的问题与IIS 7如何处理集成应用程序池中的线程有关。为了验证我的理论,我正在尝试让我的MVC应用程序在IIS7上以经典模式运行。我将我的应用程序池设置为classic,并为aspnet_isapi.dll添加了一个通配符脚本。根据我发现的所有文档,这是我在IIS7 classic中运行MVC所需要做的全部工作。然而,当我尝试访问该网站时,我得到一个404错误。我错过了什么?我马上

我有一个可以在cassini上运行的MVC应用程序,可以在IIS 6上运行,但是我在IIS 7中遇到了问题。我认为我的问题与IIS 7如何处理集成应用程序池中的线程有关。为了验证我的理论,我正在尝试让我的MVC应用程序在IIS7上以经典模式运行。我将我的应用程序池设置为classic,并为aspnet_isapi.dll添加了一个通配符脚本。根据我发现的所有文档,这是我在IIS7 classic中运行MVC所需要做的全部工作。然而,当我尝试访问该网站时,我得到一个404错误。我错过了什么?

我马上想到了几件事:

  • 您的web服务器可能未安装ASP.MVC Framework,并且您的web应用程序部署不包括MVC dll
  • 网站后面的应用程序池未在ASP.NET模式下运行
  • 您的web位不是您认为的位置(简单的文件位置误解)

    • 我认为,MVC需要打开通配符脚本映射才能在经典模式下工作。如果没有,它希望存在一个.aspx文件(或类似文件),以便处理从IIS到.NET的执行管道

      在rsite上找到“处理程序映射”图标,在右侧找到“添加通配符脚本映射”


      将其映射到c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet\u isapi.dll或您正在使用的框架的任何版本。

      MVC应用程序以积分模式运行。当我切换到经典模式时,我开始得到404错误。你给出了这个答案,为我节省了很多时间。