asp.net-mvc – 是否有可能在ASP.NET MVC中实现X-HTTP-Method-Ov
发布时间:2020-12-16 03:42:50 所属栏目:asp.Net 来源:网络整理
导读:我正在使用ASP.NET MVC实现RESTful API的原型,除了奇怪的bug之外,我已经实现了我在开始时提出的所有要求,除了调用者能够使用X-HTTP-方法 – 覆盖自定义标头以覆盖HTTP方法. 我想要的是以下要求…… GET /someresource/123 HTTP/1.1X-HTTP-Method-Override: D
我正在使用ASP.NET MVC实现RESTful API的原型,除了奇怪的bug之外,我已经实现了我在开始时提出的所有要求,除了调用者能够使用X-HTTP-方法 – 覆盖自定义标头以覆盖HTTP方法.
我想要的是以下要求…… GET /someresource/123 HTTP/1.1 X-HTTP-Method-Override: DELETE …将被调度到我的控制器方法,该方法实现DELETE功能而不是该操作的GET功能(假设有多个方法实现该操作,并且它们标记有不同的[AcceptVerbs]属性).因此,鉴于以下两种方法,我希望将上述请求分发给第二个: [ActionName("someresource")] [AcceptVerbs(HttpVerbs.Get)] public ActionResult GetSomeResource(int id) { /* ... */ } [ActionName("someresource")] [AcceptVerbs(HttpVerbs.Delete)] public ActionResult DeleteSomeResource(int id) { /* ... */ } 有人知道这是否可行?这样做会有多少工作……? 解决方法
您将无法按原样使用[AcceptVerbs]属性,因为它与请求的实际HTTP谓词相关联.幸运的是,[AcceptVerbs]属性非常简单;你可以在
http://www.codeplex.com/aspnet/SourceControl/changeset/view/21528#266431看到自己的来源.
简而言之,子类AcceptsVerbsAttribute并覆盖IsValidForRequest()方法.实现将类似于以下内容: string incomingVerb = controllerContext.HttpContext.Request.Headers["X-HTTP-Method-Override"] ?? controllerContext.HttpContext.Request.Method; return Verbs.Contains(incomingVerb,StringComparer.OrdinalIgnoreCase); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET – 一个新的应用程序的最佳队列系统
- 如何在ASP.NET WebForm中使用Ninject注入依赖项?
- ASP.NET没有魔法——ASP.NET Identity与授权
- ASP.NET Web API将http响应转换为json数组
- asp.net-core – 从ASP.NET Core 2.1应用程序中删除“Serve
- 数组 – 带有int数组参数的EF ExecuteSqlCommand
- asp.net-mvc – Html.EditorFor SelectList
- ASP.Net Web应用程序安全性不适用于IIS 7?
- asp.net – Facebook应用程序仅适用于管理员.为什么?
- asp.net-core – 如何在部署插槽交换后优雅地迁移打开的Web
推荐文章
站长推荐
- asp.net – 为什么这个DateTime.ParseExact语句不
- ASP.NET vs. Silverlight
- asp.net-mvc-3 – MVC3 – 如何输出要下载的文件
- asp.net – 如何拒绝访问文件夹或文件
- asp.net-mvc-4 – 将模型从View传递给Controller
- asp.net-mvc – 如何使用MVC 3.0创建Web API
- .net – 设置响应状态代码会在自定义错误页面顶部
- asp.net-mvc – 在HtmlHelper扩展方法中访问Html
- asp.net核心 – ASP.NET核心MVC查看组件
- asp-classic – 经典的ASP页面是否会运行在Windo
热点阅读