IIS 7.5上的MVC5路由错误(404.0)错误

时间:2014-12-04 20:34:31

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

关于一切的老故事在开发机器上运行良好,但在主机服务器上运行不正常。

enter image description here

HTTP错误404.0 - 未找到

  • 模块 IIS Web Core
  • 通知 MapRequestHandler
  • 处理程序 StaticFile
  • 错误代码 0x80070002

尝试在开发计算机上生成相同的错误,方法是将<remove name="UrlRoutingModule-4.0" />添加到 system.webServer - modules 并在添加<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />时解析它,但这不适用于主办。我也试过<modules runAllManagedModulesForAllRequests="true" />但没有改变。

这是处理程序部分:

<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 中遇到同样的问题,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我有类似的问题。事实证明,虚拟文件​​夹名称和我正在构建的用于调用Web API路由的URL是不一致的:

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

Vs以上。

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