【参考】.net IIS MVC Rest api 跨域 PUT DELETE 404 无法使用问题解决方案

今日在使用泛型處理常式處理檔案上傳時,使用了 HTTP 動詞的 PUT、DELETE 進行操作,卻發現當使用了 PUT、DELETE 時會發生「405 Method Not Allowed」錯誤,此錯誤的發生是由於使用了不正確的 HTTP 動詞而產生,也就是 Server 並不接受此 HTTP 動詞,為了讓 Server 能夠接受 PUT、DELETE 動詞,需要去調整 IIS 的處理常式對應,以下紀錄發生此問題的解決方法。

處理情形


問題情況

解決方法

當此問題發生時找到了 IIS Express FAQ,在 FAQ 裡提到需要去修改 IIS Express 的 config 檔案,路徑如下

C:\Users\User\Documents\IISExpress\config\applicationhost.config

在 config 檔案的 <handlers> ... </handlers> 標籤內的 ExtensionlessUrl-Integrated-4.0 屬性中的 verb="GET,HEAD,POST,DEBUG" 字段加入 PUT, DELETE 動詞,如下


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

但依照 FAQ 的方法去增加動詞後進行測試,卻還是一樣出現 405 Method Not Allowed 錯誤。於是再仔細觀察 handlers 內後發現由於接收 HTTP PUT、DELETE 動詞的檔案為泛型處理常式,泛型處理常式的處理會交由 SimpleHandlerFactory 進行處理,所以在 handlers 內尋找 SimpleHandlerFactory 可以看到 SimpleHandlerFactory-Integrated 屬性配置,修改 SimpleHandlerFactory-Integrated 的 verb 加上 PUT、DELETE動詞,如下


<add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />

修改後重新測試已可正常發送 PUT、DELETE 動詞,如下

另外如果要透過 IIS 去調整的話可以使用以下方法,進入 IIS 管理介面後點選處理常式對應

找到 SimpleHandlerFactory-Integrated-4.0 右鍵編輯,選擇要求限制

在指令動詞中加入 PUT, DELETE 即可

转载于:https://www.cnblogs.com/xdot/p/9522402.html

VS IISExpress REST DELETE 405 Method Not Allowed相关推荐

  1. SVN 服务器发送了意外的返回值(405 Method Not Allowed),在响应 “MKCOL” 的请求

    服务器发送了意外的返回值(405 Method Not Allowed),在响应 "MKCOL" 的请求 服务器发送了意外的返回值(405 Method Not Allowed), ...

  2. “Remote server returned error: (405) method not allowed.”的解决方案

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:"Remote server returned error: (405) method not allowed." ...

  3. php 405,php Restler 405 Method Not Allowed 问题解决啦,restlerallowed_PHP教程

    php Restler 405 Method Not Allowed 问题解决啦,restlerallowed 在学习Restler 3的时候,在看到 Example的CURD中,用Firefox的R ...

  4. 405 (Method Not Allowed)

    第一次遇到这个问题,百度之后的结果: 解决方案:405请求方法不被允许.这时候应该检查请求方法是否正确,页面应该用GET请求还是POST请求.例如在请求微博access_token的时候虽然不需要发送 ...

  5. SVN-服务器发送了意外的返回值(405 Method Not Allowed),在响应 “MKCOL” 的请求

    服务器发送了意外的返回值(405 Method Not Allowed),在响应 "MKCOL" 的请求 服务器发送了意外的返回值(405 Method Not Allowed), ...

  6. IIS put请求 报HTTP Error 405 - Method Not Allowed

    在新的服务器上部署了一个.net core的项目,部分请求地址使用了put.delete方式,导致无法正常请求,报Error 405 - Method Not Allowed. 由于配置IIS时把&q ...

  7. 使用第三方SDK(如微信、qq、快看、头条等),调用接口405 Method Not Allowed

    使用第三方SDK(如微信.qq.快看.头条等),调用接口405 Method Not Allowed 错误描述:postman请求正常,但客户端调用后接口没有反应,但返回了405错误. 解决方法:第三 ...

  8. 使用Jersey跨服务器上传图片 报405 Method Not Allowed错误

    springMVC跨服务器上传 报错: HTTP Status 500 – Internal Server ErrorType 异常报告 消息 Request processing failed; n ...

  9. 405 Method Not Allowed

    当jquery easyui的datagrid插件使用.json文件为数据源,通过非http协议访问[就是直接拖进浏览器查看效果],能正常加载.json文件并且生成datagrid数据源.但是通过ht ...

最新文章

  1. 俄称中国航空水平依然较低 歼11没有市场优势
  2. windows系统如何查看端口被占用、杀进程
  3. HDU2067 小兔的棋盘
  4. 学习ROS过程中遇到的一些小问题以及解决办法的记录
  5. exchange实现外部邮件收发的两种方法
  6. 中国海洋大学第四届朗讯杯高级组 A 2718 Rocky(模拟)
  7. 最简单的方式开发一个高并发服务器
  8. 解决DOS窗口中文乱码问题
  9. 内点法外点法matlab代码,分享:惩罚函数法(内点法、外点法)求解约束优化问题最优值...
  10. Angular Compile Error NG6002
  11. 如何缩小图片大小kb?
  12. linux 打开权限不够,linux无法打开目录提示权限不够
  13. 民国传奇女子——张爱玲
  14. Camunda流程引擎及表结构认识
  15. mongodb集群修改IP地址
  16. python 根据地址求经纬度 谷歌_js获取ip地址利用谷歌地图获得经纬度
  17. 【MCMC】PyMC2库进行MCMC估计线性回归参数
  18. 二维码(QR code)基本结构及生成原理
  19. C++ 概率算法 利用蒙特卡罗算法计算圆周率
  20. 用WPS2003制作与众不同的页眉(转)

热门文章

  1. 计算机网络知识点总结(第六版,谢希仁)
  2. ElementUI form表单 左侧label对齐注意事项
  3. JAVA中的变量和常量
  4. 在SQL Server里如何进行页级别的恢复
  5. SQL语句 常用条件判断
  6. 借入单的后续处理-借入归还
  7. java 利用JAX-RS快速开发RESTful 服务
  8. 控制游戏中物体的移动速度
  9. mmap直接控制底层
  10. 智能搜索推荐一体化营收增长解决方案