WebApi 部署IIS 404.0 not found

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebApi 部署IIS 404.0 not found相关的知识,希望对你有一定的参考价值。

  

背景

本地环境:Win7,Visual Studio 2013, IIS 7.5

WebForm 项目,添加一个http接口给别人调用。

我的做法是添加了一个Controller,Application_Start 里面添加路由。

然后本地测试通过。

 

发布

发布机器环境: Window Server 2008 R2, IIS 7.0

发布之后访问接口抛出 404.0 not found 页面。

网上搜搜解决方案,一般排除方法如下:

1. 确认.net framework 4.5 已经安装

2. 修改web.config配置

    配置system.webServer节点下的modules 和 handlers 节点

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

  

  <handlers>
    <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
    <remove name="OPTIONSVerbHandler" />
    <remove name="TRACEVerbHandler" />
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler"     preCondition="integratedMode,runtimeVersionv4.0"/>
  </handlers>

然而上述方法都不能解决我的问题。

之后意识到我的应用程序池配置的4.0 经典模式,通过以下方法解决了问题~

3. 添加通配符脚本映射

  技术分享

 

或者修改配置

<handlers>
  ......
  <add name="all" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"          resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
</handlers>

 

  




以上是关于WebApi 部署IIS 404.0 not found的主要内容,如果未能解决你的问题,请参考以下文章

WebApi 应用程序:错误 404.0,处理程序静态文件

WebAPI 错误 404.0 - 未找到

IIS 7.0 / Windows Server 2008 上的 ASP.NET MVC 3 应用程序出现 404.0 错误

路由 HTTP 错误 404.0 0x80070002

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

MapRequestHandler - 在 IIS 8.0 中从 .aspx 路由 .html 时出现 404.0 错误