我已经为我的问题找到了大量可能的解决方案,但我仍然无法使Web API在我的新开发机器上正常工作。我的旧工作开发机器和新工作开发机器都在Windows 7 64位上运行Visual Studio 2012。在Windows Server 2012上运行的Production网站运行正常,但我无法让我的新计算机解析web api调用。电话是:
http://localhost/clientsite/data/getdata?key=thiskey
我确保没有安装WebDAV,安装了所有各种Web API组件和MVC 4,我目前正在使用以下配置条目:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit"/>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit"/>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0"/>
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" resourceType="Unspecified" requireAccess="Script"/>
</handlers>
</system.webServer>
有人知道我错过了什么吗?谢谢!
答案 0 :(得分:1)
这最终是我的一个愚蠢的错误,但希望这可能会帮助其他人。在我的路由表中,我有routeTemplate:ads / {controller} / {id}:
这意味着上面的网址实际上需要是:
http://localhost/clientsite/data/ads/getdata?key=thiskey