让IIS识别PUT和DELETE请求
转眼间年底了,突然的我就挪了窝。新的公司,新的电脑,新的服务器。。。。面对新环境,手有些痒,于是试着编写自己的简易版restful API。
restful的话,对资源的相应操作应该被体现成http动词,增删改查对应动词应为post、delete、put、get。
按照思路写出一个demo以后,运行,结果是这样的:

好吧,被拦截了,怎么设置呢?网友们的回答五花八门——
有删除webdav模块的:
<system.webServer>
<modules>
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV" />
</handlers>
</system.webServer>
有说是因为权限不足造成的,有说是因为页面form太多造成的,有说是因为…………
以上一众网友不论对错,对此处问题都是无效的。
其实关键信息就隐藏在大家都能看得到的地方:

这个链接看过以后,相信大家心里都有谱了:修改配置。
配置文件在这里:C:\Windows\System32\inetsrv\config\applicationhost.config
需要注意的是该文件无法直接打开,先转跳至目录内在进行操作即可。
在这个文件内找到handlers标记,该标记下有所有模块的配置,修改对应模块允许的谓词即可,如:
<add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG,PUT,DELETE" modules="IsapiModule" scriptProcessor="C:\Windows \Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
我这里将PUT和DELETE加了进去,运行:

可以看到,delete已经被支持,put也一样,同理,如果还有什么谓词想加进来,直接在对应模块的配置内添加即可。
如果还是不可以,请手动删除IIS中的WebDav模块,如下图:

希望可以帮到大家~
让IIS识别PUT和DELETE请求的更多相关文章
- 让IIS7和IIS6识别PUT和DELETE请求
项目组最近需要开展自动化测试,针对老的Aspx页面,这个做自动化测试的成本太高,于是我们想从老代码中封装一些ashx的Restful服务出来,Restful我们使用HTTP的GET.POST.PUT. ...
- ASP.NET IIS 支持PUT、DELETE请求
IIS 本身不支持PUT.DELETE请求,但可以通过一下方法修改进而达到目的 删除IIS安装的WebDav模块,选择你的项目,右边有个“模块”,双击它:找到WebDavModule,删除它(不推荐, ...
- WebAPI IIS PUT和DELETE请求失败 405
IIS拒绝PUT和DELETE请求是由于IIS为网站默认注册的一个名为WebDAVModule的自定义HttpModule导致的,如果我们的站点不需要提供针对WebDAV的支持,解决这个问题最为直接的 ...
- WebAPI IIS PUT和DELETE请求失败
IIS拒绝PUT和DELETE请求是由于IIS为网站默认注册的一个名为WebDAVModule的自定义HttpModule导致的,如果我们的站点不需要提供针对WebDAV的支持,解决这个问题最为直接的 ...
- IIS在默认情况并不支持对PUT和DELETE请求的支持
IIS在默认情况并不支持对PUT和DELETE请求的支持: IIS拒绝PUT和DELETE请求是由默认注册的一个名为:“WebDAVModule”的自定义HttpModule导致的.WebDAV的全称 ...
- Asp.Net Core IIS发布后PUT、DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法(HTTP 谓词)
一.在使用Asp.net WebAPI 或Asp.Net Core WebAPI 时 ,如果使用了Delete请求谓词,本地生产环境正常,线上发布环境报错. 服务器返回405,请求谓词无效. 二.问题 ...
- php在IIS上put,delete请求报404
方法一:配置C:\Windows\System32\inetsrv\Config\applicationHost.conf的put,delete 方法二:网传最广之方法,修改项目的web.config ...
- ABP PUT、DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法(HTTP 谓词) 引发客户端错误 No 'Access-Control-Allow-Origin' header is present on the requested resource
先请检查是否是跨域配置问题,请参考博客:http://www.cnblogs.com/donaldtdz/p/7882225.html 一.问题描述 ABP angular前端部署后,查询,新增都没问 ...
- 部署Web API后Delete请求总是报 405(Method Not Allowed)解决办法
WebDAV 安装IIS的时候如果选择了WebDAV(Web Distribution Authorization Versioning) Publish,则所有的 ...
随机推荐
- C#中多线程 委托的使用
背景: 什么是多线程?我们在建立以个C#项目时,往往会在Form1上添加控件,然后写代码,初 学者都是在重复这个过程,其实这个过程是单线程的,可以理解为只有“main”主线程,有 的时候往往需要同时 ...
- IAP升级功能编写初期的一些困惑与疑问---完毕功能后的总结
IAP的源代码等资料我上传了,压缩包内有12个文件,,http://download.csdn.net/detail/f907279313/7524849(要积分的辛苦收集的你们就给点积分吧) 还有还 ...
- CSS3超酷移动手机滑动隐藏側边栏菜单特效
这是一组共4种效果很炫酷的CSS3移动手机滑动隐藏側边栏菜单特效. 这四种效果各自是:默认的点击滑动側边栏菜单效果.带3D transforms的滑动側边栏效果.文字缩放和淡入淡出效果的滑动側边栏以及 ...
- 动作之CCActionInstant(立即动作)家族
立即动作就是不需要时间,马上就完成的动作.立即动作的共同基类是CCActionInstant.CCActionInstant的常用子类有: CCCallFunc:回调函数包装器 CCFlipX:X轴翻 ...
- MyJFrame(文本)界面的建立
import java.awt.Color;import java.awt.Component;import java.awt.Container;import java.awt.FlowLayout ...
- PHP克隆魔术方法
克隆对象 __clone() $p2=clone $p; $p=>say(); 克隆对象的时候自动调用的方法 作用和构造方法一样是对新克隆的对象进行初始化 在这个方法中$this是副本所以可以给 ...
- HTML DOM对象
HTML DOM对象 Document对象每个载入浏览器的HTML文档都会成为Document对象Document对象让我们可以从javascript中操作文档中的所有元素Document对象是win ...
- Webstorm 不识别es6 import React from ‘react’——webstorm不支持jsx语法怎么办
2016-10-31更新 webstorm不支持es6语法怎么办? webstorm不支持jsx语法怎么办? 参考:webstorm不支持jsx语法怎么办 I spent ages trying to ...
- elfiner-servlet 2.x已开源!
通过近一周的努力,elfiner-servlet 2.x基本搞定! 已提交github,开源之!请各位享用~~ 对elfinder不熟悉的请访问:http://elfinder.org 一个很不错的文 ...
- 替换SQL Server数据库中所有表的所有字段的某些内容
declare @t varchar(255),@c varchar(255) declare table_cursor cursor for select a.name,b.name from ...