WebDAV                                    
安装IIS的时候如果选择了WebDAV(Web Distribution Authorization Versioning) Publish,则所有的Web Site默认会应用WebDAV Module和WebDAV Handler.
 
WebDAV是基于HTTP协议的扩展,添加了很多Method用于管理服务器上的文件。详见:https://baike.baidu.com/item/WebDAV/4610909?fr=aladdin
 
WebDAV Module和WebDAV Handler
WebDAV Handler的默认配置是处理如下 Method:PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK。(可以参考%userprofile%/documents/iisexpress/config/applicationhost.config中的配置)因此PUT和DELETE请求会被Dispatch给WebDAV Handler来处理,但是我们一般不会Enable WebDAV功能。因此Delete和Put请求会被拒绝。
 
 
解决办法                                  
既然根本原因是WebDAV,最直接的解决办法就是移除WebDAV(一般情况下我们不会用到该功能)。移除有如下几种方法:
  1. 直接从系统中移除WebDAV Publish的整个功能(参考上面打开WebDAV Publish的截图)
  2. 在Web Site的web.config中移除WebDAVModule和WebDAVHandler
    <system.webServer>
        <modules>
          <remove name=“WebDAVModule”/>
       </modules>
       <handlers>
         <remove name=“WebDAV”/>
       </handlers>
    </system.webServer>
顺便提一下,关于asp.net的配置schema参见https://docs.microsoft.com/en-us/iis/configuration/system.webserver/handlers/

部署Web API后Delete请求总是报 405(Method Not Allowed)解决办法的更多相关文章

  1. postman发送post请求,报405 Method Not Allowed

    postman发送post请求,报405 Method Not Allowed: 亲测有效的方案一: 检查请求header是否缺少必要信息.如果不清可以把所有的头部信息全部粘贴到header中,尝试是 ...

  2. WebAPI Delete方法报错405 Method Not Allowed

    .net framework 在Web.config文件中添加如下配置: <system.webServer> <modules runAllManagedModulesForAll ...

  3. [环境搭建]-Web Api搭建到IIS服务器后PUT请求返回HTTP Error 405.0 - Method Not Allowed 解决方法 转摘:http://blog.csdn.net/qiujuer/article/details/23827531

    尝试使用微软的Web Api,他的确是一个很有意思的东西. 让我体会到了许多的方便,但是我发现部署到IIS服务器上去了后PUT和Delete请求将返回405. 原因是IIS的默认处理程序默认情况下只允 ...

  4. Web APi之捕获请求原始内容的实现方法以及接受POST请求多个参数多种解决方案(十四)

    前言 我们知道在Web APi中捕获原始请求的内容是肯定是很容易的,但是这句话并不是完全正确,前面我们是不是讨论过,在Web APi中,如果对于字符串发出非Get请求我们则会出错,为何?因为Web A ...

  5. [WEB API] CLIENT 指定请求及回应格式(XML/JSON)

    [Web API] Client 指定请求及响应格式(xml/json) Web API 支持的格式请参考 http://www.asp.net/web-api/overview/formats-an ...

  6. Windows Server 部署WEB API时内部错误

    Windows Server 部署WEB API时,发生HTTP 错误 500.21 - Internal Server Error,如图所示: 错误原因:IIS注册Framework4.0 解决方法 ...

  7. MVC3在IIS7.5发布(部署)报403.14错误的解决办法

    MVC3在IIS7.5发布(部署)报403.14错误的解决办法     错误现象: 报403.14 forbidden错误 web服务器被配置为不列出此目录的内容. 解决办法: 检查站点的处理程序映射 ...

  8. Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误。

    例1:用Linux下的curl命令发送POST请求给Apache服务器上的HTML静态页 [root@new-host ~]# curl -d 1=1 http://www.sohu.com/inde ...

  9. .net core api迁移 3.0后Post 405 Method Not Allowed

    问题由来:.net core api之前是用 .net core 2.0开发的,测试过都是正常的,近期升级到了3.0,发现api get正常,post提示400,405 Method Not Allo ...

随机推荐

  1. HeyWeGo第四周项目总结

    HeyWeGo第四周项目总结 项目内容 使用java程序开发一款扫雷游戏 游戏项目规划: 确定游戏中方块格子的个数 确定游戏中地雷的个数(初始10个),完成布雷 计算每个方块周围的雷数,在方块周围本身 ...

  2. ISSCC 2017论文导读 Session 14: A 28nm SoC with a 1.2GHz Prediction Sparse Deep-Neural-Network Engine

    A 28nm SoC with a 1.2GHz 568nJ/Prediction Sparse Deep-Neural-Network Engine with >0.1 Timing Erro ...

  3. Asynchronous Programming Patterns

    Asynchronous Programming Patterns The .NET Framework provides three patterns for performing asynchro ...

  4. Codeforces Round #402 (Div. 2) A,B,C,D,E

    A. Pupils Redistribution time limit per test 1 second memory limit per test 256 megabytes input stan ...

  5. codeforces 300 div2 B.Pasha and Phone 容斥原理

    B. Pasha and Phone time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  6. 获取主机的对外ip

    # curl -w "\n" ifconfig.me # curl -w "\n" ipinfo.io/json # curl -w "\n" ...

  7. 五句话搞定JavaScript作用域【转】

    JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一.“JavaScript中无块级作用域” 在Java或C# ...

  8. ajax方法携带授权标识

    $.ajax({ type: "post", url: "/api/login", data: { username: getusername, passwor ...

  9. KMP与AC自动机

    KMP算法主要思想就是预处理出失配函数, 从而减少匹配失败时的回溯, 复杂度是$\Theta(m+n)$, 已达到理论下界 c++代码如下 int n, f[N]; char t[N], p[N]; ...

  10. 51nod1289 stack

    1289 大鱼吃小鱼 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动 ...