Asp.net mvc IIS 7集成模式的ASP.NET MVC 404错误

Asp.net mvc IIS 7集成模式的ASP.NET MVC 404错误,asp.net-mvc,iis,asp.net-mvc-2,iis-7,Asp.net Mvc,Iis,Asp.net Mvc 2,Iis 7,大家好。当我尝试访问我的ASP.NET MVC 2站点时,我收到404个错误。我使用II7托管这个站点,并且我的站点设置为使用DefaultAppPool集成管道模式。以下是我的路线,这是一个非常基本的网站: routes.MapRoute( "DefaultRoute", // Route name "{controller}/{action}/{id}", // URL with parameters n

大家好。当我尝试访问我的ASP.NET MVC 2站点时,我收到404个错误。我使用II7托管这个站点,并且我的站点设置为使用DefaultAppPool集成管道模式。以下是我的路线,这是一个非常基本的网站:

        routes.MapRoute(
            "DefaultRoute", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional // Parameter defaults
        });

        routes.MapRoute(
            "UploadRoute", // Route name
            "Upload/{id}", // URL with parameters
            new { controller = "Upload", action = "Index", id = UrlParameter.Optional 
        });

尝试转到~/Home或~/Upload都会导致404错误。远程浏览根目录~/会导致页面一直处于等待状态,如果我试图在本地访问根目录,则会出现403.14错误。我被难住了,我认为ASP.NETMVC和IIS7运行的集成模式应该很简单。谢谢。

您可能会被一个非动作文件(如js或css文件)所困扰。在开始处添加忽略管线

routes.IgnoreRoute("*.html|js|css|gif|jpg|jpeg|png|swf");
您还可以尝试使用RouteDebugger,看看它将走向何方,或者在您的案例中不使用它

此外,检查IIS7中是否启用了HTTP重定向。

第一件事:最具体的路由应该位于声明的顶部。默认路由应该是最后一个创建的路由,否则将忽略以下所有路由


回到主题:DefaultAppPool是否在.NET 4.0下运行?也许这能帮到你?看起来更像是IIS的配置问题?

我也遇到了同样的问题,我确保默认应用程序池设置为.net 4并且正常工作。如果我为应用程序上集成的.net 4 classic或.net 4选择应用程序池,我将得到该错误。。它只有在我选择默认应用程序池时才起作用。这是在2008年新安装的服务器上安装的,除了MVC和Webpages frameworkwebmatrix之外,没有其他安装。非常好。我希望这对某人有帮助

我重新安装了MVC框架,并在盒子上执行了一系列Windows更新。然后删除了这个站点并创建了一个新的站点,这次我将该站点添加为一个应用程序,现在它似乎可以工作了。请结束这个问题。