【问题标题】:MVC 4 application giving a 404 when deployedMVC 4 应用程序在部署时给出 404
【发布时间】:2013-04-23 20:42:19
【问题描述】:

我有一个使用 .NET 4.5 的 ASP.NET MVC 4 项目,我正在尝试使用 Visual Studio 2012 将其发布到 IIS 7.0。当我在 IIS Express 中调试应用程序时,一切正常。当我将它发布到服务器时,MVC 请求返回 404。我在网站上有几个 aspx 页面,它们都工作正常。下面是我的路由方案。它是样板代码:

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

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

谢谢。

编辑:

我明白了!我必须在web.config 中将以下内容添加到system.webServer

<modules runAllManagedModulesForAllRequests="true"/>

谁能告诉我这是为什么?

【问题讨论】:

  • 服务器上是否安装了MVC4和.net 4.5?
  • 是的,两者都安装了。
  • 好吧,我已经安装了 .NET 4.5,但是对于 MVC 4,我需要在服务器上安装什么?

标签: asp.net-mvc web-deployment


【解决方案1】:
<modules runAllManagedModulesForAllRequests="true"/>

参考:Here

【讨论】:

  • 这并不能完全解释我的具体问题。
  • 如果链接处的内容在此处总结以防链接失效,这个答案会更好
【解决方案2】:

此参考可能会有所帮助:

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

“以前必须将runAllManagedModulesForAllRequests 设置为true 以支持路由。但是,一旦使用Service Pack 更新了IIS 7,在使用ASP.NET 路由时可以将runAllManagedModulesForAllRequests 的值设置为false 或省略。”

(显然安装 IIS 或 Windows 服务包需要首先仔细考虑)

【讨论】:

  • 这是将近 3 年前的事了。我什至不记得我在做什么项目。感谢您的信息。
猜你喜欢
  • 2015-08-31
  • 2017-08-27
  • 1970-01-01
  • 1970-01-01
  • 2016-03-10
  • 2010-12-31
  • 2013-03-16
  • 2013-07-17
  • 2014-01-24
相关资源
最近更新 更多