我已经检查了所有配置,但没有一个正常工作。
GET和POST请求可以正常工作,但是使用PUT请求时,我收到了405错误消息。 我没有WebDEV。
以下是我的配置信息:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV"/>
<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>
这真是让我抓狂!
我已经参考了所有可用的建议,例如: Asp.NET Web API - 405 - HTTP verb used to access this page is not allowed - how to set handler mappings
即使我使用基本身份验证/Windows身份验证,禁用也没有任何区别。
[System.Web.HttpHttpPut] public override HttpResponseMessage Put(int id, Request entity) { .... }
注意:我刚刚在暂存服务器上测试通过了。但是,在我的计算机上无法工作...