我检查了一切,没有配置工作正常。405方法不允许PUT
GET,POST正在工作,但放了我得到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] 公众覆盖HttpResponseMessage把(INT ID,请求实体) { .... }
注:我刚才已经把临时服务器上,它有工作。但是,它不工作我的机器上...
感谢您回复。是的,它链接到System.Web.Http。 – codebased
你能否显示你的控制器代码?也许你有一个参数不匹配,或者你的目标是错误的控制器/操作。 – Kristof
@kristoff现在就做了。 – codebased