您的位置:首页 > 理论基础 > 计算机网络

WebApi HTTP Put 405 Method not allowed

2017-09-19 17:21 976 查看

总结列表:
1. There is already an open DataReader associated with this Connection which must be closed first
2. npm install 失败
3. WebApi HTTP Put 405 Method not allowed

服务器升级了IIS,WebApi项目的put接口全部报405

搜索发现解决方案不少,尝试了张善友博客给出的解决方案,问题解决。

IIS7.5上的REST服务的Put操作发生HTTP Error 405.0 - Method Not Allowed 解决方法

WebDAV 是超文本传输协议 (HTTP) 的一组扩展,为 Internet 上计算机之间的编辑和文件管理提供了标准.利用这个协议用户可以通过Web进行远程的基本文件操作,如拷贝、移动、删除等。在IIS 7.0中,WebDAV是作为独立扩展模块,需要单独进行下载,而IIS 7.5中将集成WebDAV,然而WebDav把Put,Delete给咔嚓了。所以在IIS 7.5上部署的RESTful服务(WCF Data Service,WCF Rest Service,ASP.NET Web API,ASP.NET MVC)就悲剧了,当发送Put请求就会发生HTTP Error 405.0 – Method Not Allowed错误,解决方法也很简单,在Web.config里面加入如下设置:

<system.webServer>
<modules>
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV" />
</handlers>
</system.webServer>

http://brockallen.com/2012/10/18/cors-iis-and-webdav/

添加配置之后,出现了另一个问题
两个Route
一个post的Route,形如

Route["A/B"]
,另一个get的Route形如
Route["A/B/{id}"]

会报错:在多个Controller里有相同的Route。
不知道是不是修改配置之后导致的问题。
CSND博客中还有一篇文章介绍如何解决405,配置修改略有不同,未尝试过,先记录在这里
https://www.geek-share.com/detail/2699117623.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐