MVC 4 application giving a 404 when deployed

I have an ASP.NET MVC 4 project using .NET 4.5 that I am trying to publish to IIS 7.0 using Visual Studio 2012. When I debug the application in IIS Express everything works wonderfully. When I publish it to the server, the MVC requests return 404. I have a few aspx pages on the site and they all work fine. Below is my routing scheme. It is boilerplate code:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

Thanks.

Edits:

I got it! I had to add the following to system.webServer in my web.config :

<modules runAllManagedModulesForAllRequests="true"/>

Can anyone tell me why this is?


This reference may help:

https://www.iis.net/configreference/system.webserver/modules

"runAllManagedModulesForAllRequests previously had to be set to true to support routing. However, once IIS 7 has been updated with a Service Pack, the value of runAllManagedModulesForAllRequests can be set to false or omitted when working with ASP.NET routing."

(obviously installing an IIS or Windows service pack needs careful consideration first)


<modules runAllManagedModulesForAllRequests="true"/>

参考:这里

链接地址: http://www.djcxy.com/p/12898.html

上一篇: 打包需要jQuery的JavaScript库的最佳方法是什么?

下一篇: MVC 4应用程序在部署时提供404