asp.net-mvc-3 – 在IIS 7 / 7.5中注册PATCH HTTP谓词
发布时间:2020-12-16 07:04:32 所属栏目:asp.Net 来源:网络整理
导读:我想在用ASP MVC 3实现的RESTful服务中实现最近批准的PATCH HTTP谓词.我在web.config文件中添加了以下设置. ?xml version="1.0" encoding="UTF-8"?configuration system.webServer handlers add name="PATCHVerbHandler" path="*" verb="PATCH" modules="Pro
我想在用ASP MVC 3实现的RESTful服务中实现最近批准的PATCH HTTP谓词.我在web.config文件中添加了以下设置.
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <add name="PATCHVerbHandler" path="*" verb="PATCH" modules="ProtocolSupportModule" requireAccess="None" /> </handlers> <security> <requestFiltering> <verbs> <add verb="PATCH" allowed="true" /> </verbs> </requestFiltering> </security> </system.webServer> </configuration> action方法使用AcceptVerbs(“PATCH”)属性进行修饰. 该服务与PATCH动词一起正常工作. URL被路由到正确的操作方法并返回正确的数据. 奇怪的问题是,如果我使用与使用PATCH谓词的任何路由都不匹配的其他URL,IIS将返回“200 OK”而不是“404 Not Found”.所有标准动词(GET,PUT,DELETE,POST,HEAD,OPTIONS)都没有这个问题. 我是否需要为PATCH动词注册其他处理程序,还是路由问题?任何帮助表示赞赏. 解决方法
实际上,您不需要自定义处理程序来处理使用PATCH谓词生成的HTTP请求;相反,您可能希望继续使用AcceptVerbs(“PATCH”)属性修饰您的操作,同时检查ASP.NET ISAPI是否配置为处理任何动词(它是默认设置),包括PATCH.
如果你必须使用自定义模块处理这种请求,顺便说一下,请记住,处理程序本身有责任为每个请求设置状态代码(包括它应该处理的请求,根据映射,但它不能出于任何原因)并且可能在完成时没有设置正确的值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net – 如何在设计模式下打开RDLC
- ASP.NET 2.0 – 带有tbody / thead的DataGrid
- asp.net – 手动更新表单认证券:
- asp.net – 占位符/示例文本在用户的文本框中
- asp.net-mvc – Asp.net Web api异常仅在IIS部署
- asp.net-web-api – WebAPI:403在发布网站后被禁
- asp.net-mvc – 什么时候应该在ASP.NET MVC中使用
- asp.net-mvc – Mocking HttpPostedFileBase和In
- 将ASP.NET MVC 3项目升级到ASP.NET MVC 4
- asp.net – 为什么我的SqlDataSource的UpdateCom
热点阅读