Rest不允许IIS 8.5中的PUT:错误405

bxgwgixi  于 2023-10-19  发布在  其他
关注(0)|答案(3)|浏览(181)

我在. Net中有一个restfull web服务。当我们在Windows 7和IIS 7的PC上测试PUT时,它工作得很好。
当我们在一台装有Windows 8和IIS 8.5的PC上测试Web服务时,我们得到了一个405状态码。这是Fiddler的结果

编辑这是关于ExtensionlessUrlHandler-Integrated的applicationHost.config部分。我没有ExtensionlessUrl-Integrated

我想这是一个IIS问题,有人知道如何解决这个问题吗?Thanks in advance

xxslljrj

xxslljrj1#

您必须在ExtensionlessUrl-Integrated-4.0列表中添加PUT动词。对IIS示例的applicationhost.config文件进行以下更改。

  1. <add name="ExtensionlessUrl-Integrated-4.0" path="*." verb="GET,HEAD,POST,PUT,OPTIONS,TRACE" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />

你还可以添加其他你允许的动词,比如“”。
参见:ASP.NET Web API - PUT & DELETE Verbs Not Allowed - IIS 8

k3bvogb1

k3bvogb12#

这主要是由于WebDAV安装到IIS服务器。
只需在web.config文件中添加以下XML块

  1. <system.webServer>
  2. <modules>
  3. <remove name="WebDAVModule" />
  4. </modules>
  5. </system.webServer>
rkkpypqq

rkkpypqq3#

下面的配置对我有用:

  1. <system.webServer>
  2. <modules>
  3. <remove name="WebDAVModule" />
  4. </modules>
  5. </system.webServer>

相关问题