【问题标题】:MVC5 routing error (404.0) error on IIS 7.5IIS 7.5 上的 MVC5 路由错误 (404.0) 错误
【发布时间】:2015-02-02 21:26:15
【问题描述】:

一个古老的故事在开发机器上一切正常,但在主机服务器上却不行。

HTTP 错误 404.0 - 未找到

  • 模块 IIS Web 核心
  • 通知MapRequestHandler
  • 处理程序静态文件
  • 错误代码0x80070002

通过将<remove name="UrlRoutingModule-4.0" /> 添加到system.webServer - 模块 并在添加<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" /> 时解决它,尝试在开发机器上产生相同的错误,但这在主机上不起作用。我也尝试过<modules runAllManagedModulesForAllRequests="true" />,但没有任何改变。

这里是 handlers 部分:

<handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <remove name="WebDAV" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
      <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />
</handlers>

更多信息:

  • MVC.Net 5.2.2.0
  • Windows 2008 上的 IIS 7.5
  • 集成的 .Net 4.0 应用程序池。

我还有什么需要做的吗?

现在,在 IIS8 中遇到了同样的问题,知道吗?

【问题讨论】:

  • 更新:主机已经解决了我的问题,无需对我的 web.config 或库进行任何更改。我在问他们是怎么做到的,但还没有答案!
  • 你是怎么解决这个问题的,可以分享一下吗?提前致谢。
  • 我有一个共享主机,但他们没有告诉我他们是如何解决的。它应该是一些服务器配置或配置错误。对不起,我不能再帮忙了:(
  • 我面临同样的问题,不知道如何解决。
  • 下次试试看是否安装了ISAPi模块:Web server > modules如果没有,可以通过服务器管理工​​具安装:Role-based installation

标签: asp.net-mvc iis iis-7.5 iis-8 asp.net-mvc-5.2


【解决方案1】:

我有类似的问题。原来是与虚拟文件夹名称和我为调用 Web API 路由而构建的 URL 不一致:

var URLGetUserAccesses = "/api/Login/GetUserAccesses";

对比

var URLGetUserAccesses = "../api/Login/GetUserAccesses";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 2011-08-06
    • 2011-08-29
    • 1970-01-01
    • 2012-05-03
    • 2018-06-23
    • 2016-03-08
    相关资源
    最近更新 更多