描述
IIS10 默认支持 PUT 和 DELETE 请求,但 IIS8.0 及以下版本默认不接收 PUT、DELETE 等不常见的 HTTP 谓词,服务器会返回 “405 – 不允许用于访问此页的 HTTP 谓词”或“Remote server returned error: (405) method not allowed(远程服务器返回错误: (405) 不允许的方法)”,如何设置使其支持这些请求呢?
解决
1、web.config
iis中右击网站,点击浏览。找到 web.config 中的 system.webServer 节点,添加以下配置即可解决。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" runManagedModulesForWebDavRequests="true" >
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV" />
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\xxxWebApiCore.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
<system.webServer>
<directoryBrowse enabled="false" />
</system.webServer>
</configuration>
<!--ProjectGuid: d0x9-->