基于 Web Api 2 的服务无法在 IIS 8.5 上运行,而另一个类似服务可以正常运行

Web Api 2 based service doesn't work on IIS 8.5 where another similar service works properly

我在 Windows Server 2012 R2 上的 IIS 8.5 中托管了两个 .NET 4.5.2 Web Api 服务。一个叫CtpVin,一个叫WixTrial。

出于所有实际目的,它们具有相同的配置文件、global.asax 文件和基于 Wix 的安装程序。 WixTrial 服务工作并下载 json 而 CtpVin 服务给出 404.

两者在配置文件中都有:

<system.web>
    <compilation debug="true" targetFramework="4.5.2" />
    <httpRuntime targetFramework="4.5.2" />
</system.web>
<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>
</system.webServer>

这是我得到的 404 错误:

我在 CtpVin 中做错了什么?

我想通了。问题出在 WebApiConfig.cs 文件中指定的路由。