【问题标题】:HTTP Error 405.0 - Method Not Allowed - WebDAV issue? (IIS)HTTP 错误 405.0 - 方法不允许 - WebDAV 问题? (IIS)
【发布时间】:2018-07-06 14:32:49
【问题描述】:

我正在尝试构建一个简单的 Web API 服务(Visual Studio、C#、本地 IIS),它有一个接受 PUT 和其他请求的 http 处理程序

配置完所有内容后,我正在尝试测试 PUT 事件并正在接收

HTTP Error 405.0 - Method Not Allowed error.
Module WebDAVModule
Notification MapRequestHandler
Handler WebDAV
Error Code 0x00000000

Google 搜索显示 WebDAV 拦截了 PUT 命令,因此我将其从 web.config 中删除:

    <system.webServer>
    <handlers accessPolicy="Read, Execute, Script">
        <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
        <remove name="WebDAV"/>
        <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
</system.webServer>

我害怕从我的开发箱中卸载 WebDAV,因为它可能会破坏其他依赖该模块的 Web 项目。

我做错了什么?

【问题讨论】:

    标签: iis asp.net-web-api put


    【解决方案1】:

    添加这个sn-p可以解决你的问题:

      <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true" />
        <handlers>
          <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
          <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
          <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
          <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
          <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
          <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
        </handlers>
      </system.webServer>
    

    【讨论】:

      猜你喜欢
      • 2022-02-09
      • 2012-06-29
      • 2015-06-13
      • 2013-07-13
      • 2012-08-26
      • 2016-06-27
      • 2016-03-05
      • 1970-01-01
      • 2018-02-16
      相关资源
      最近更新 更多