IIS 7.5 错误 405 不支持 PUT 方法
Posted
技术标签:
【中文标题】IIS 7.5 错误 405 不支持 PUT 方法【英文标题】:IIS 7.5 error 405 the PUT method not supported 【发布时间】:2015-10-14 22:33:25 【问题描述】:我在 Windows 7 64 位的 IIS 7.5 上有 Web api WCF RESTfull 服务器。 我正在尝试通过 PUT 方法更新一条记录,但出现错误 405。我尝试在我的 Web.Config 中允许 PUT 动词,如下所示:
<system.webServer>
<modules>
<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-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Execute" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Execute" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Execute" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
</handlers>
....
如您所见,我还禁用了 WebDAV,但仍然得到 405。 有人有建议吗?
【问题讨论】:
尝试通知 iis 在所有模块中应用删除 WebDAV,修改这些行:尝试从 IIS 的 GUI 中手动删除 webdav 模块。 1) 转到 iis。 2) 转到相应的站点。 3)打开“处理程序映射” 4) 选择 WebDav。右键单击它并删除它。
注意:这也会更新您的 web 应用程序的 web.config。
【讨论】:
以上是关于IIS 7.5 错误 405 不支持 PUT 方法的主要内容,如果未能解决你的问题,请参考以下文章
Restful WCF IIS 7.5 405 方法不允许间歇