首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在ASP.NET WebAPI MediaTypeFormatter中检索HTTP请求方法?

在ASP.NET WebAPI中,MediaTypeFormatter是用于序列化和反序列化HTTP请求和响应的。要检索HTTP请求方法,您可以通过以下方法:

  1. 在API控制器中,您可以通过Request属性访问当前的HTTP请求。然后,您可以使用Request.Method属性获取请求方法。
代码语言:csharp
复制
public class MyApiController : ApiController
{
    public HttpResponseMessage Get()
    {
        var httpMethod = Request.Method;
        // 检查HTTP请求方法并执行相应操作
        return Request.CreateResponse(HttpStatusCode.OK);
    }
}
  1. 在自定义的MediaTypeFormatter中,您可以通过Request属性访问当前的HTTP请求。然后,您可以使用Request.Method属性获取请求方法。
代码语言:csharp
复制
public class MyMediaTypeFormatter : MediaTypeFormatter
{
    public override bool CanReadType(Type type)
    {
        var httpMethod = GlobalConfiguration.Configuration.Request.Method;
        // 检查HTTP请求方法并执行相应操作
        return base.CanReadType(type);
    }

    // 实现其他必要的方法
}
  1. 在自定义的DelegatingHandler中,您可以通过Request属性访问当前的HTTP请求。然后,您可以使用Request.Method属性获取请求方法。
代码语言:csharp
复制
public class MyDelegatingHandler : DelegatingHandler
{
    protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        var httpMethod = request.Method;
        // 检查HTTP请求方法并执行相应操作
        return await base.SendAsync(request, cancellationToken);
    }
}

请注意,这些示例中的代码仅用于演示如何检索HTTP请求方法。您可以根据您的需求对其进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Asp.Net WebApi核心对象解析(二)

在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑...一.WebApi处理架构:     我们在学习Asp.Net WebApi时,应该对Asp.Net WebApi的内部运行机制有一个大致的了解,很多人说了解这些基本原理的意义不大,实际开发应用不到而且还浪费时间...(在一个owin兼容的服务器上建立一个webapi层)      在使用web托管时,所使用的是ASP.NET的管道和路由功能,将HTTP请求转发到一个新的ASP.NET处理程序,HttpControllerHandler...四.WebApi核心对象HttpClient:    上面介绍完服务器端的接收和响应HTTP请求的操作方法,接下来介绍一个客户端生成HTTP请求,用与请求和获取服务器返回的消息,在新版本的.NET,提供类...HTTP请求发送出去,该方法的三个参数,HttpRequestMessage表示http请求对象,HttpCompletionOption表示操作完成项,CancellationToken表示取消令牌

3.1K100

通过扩展让ASP.NET Web API支持JSONP

,在默认情况下,当ASP.NET Web API采用内容协商机制选择出与当前请求相匹配的MediaTypeFormatter后,会调用此方法来创建真正用于序列化响应结果的MediaTypeFormatter...在重写的这个GetPerRequestFormatterInstance方法,我们尝试从请求的URL得到携带的JavaScript回调函数名称,即一个名为“callback”的查询字符串。...二、将JsonpMediaTypeFormatter的应用到ASP.NET Web API 接下来我们通过于一个简单的实例来演示同源策略针对跨域Ajax请求的限制。...从项目名称可以看出,WebApi和MvcApp分别为ASP.NET Web API和MVC应用,后者是Web API的调用者。...我们在WebApi应用定义了如下一个继承自ApiController的ContactsController类型,它具有的唯一Action方法GetAllContacts返回一组联系人列表。

1.6K80
  • 快速入门系列--WebAPI--04在老版本MVC4下的调整

    WebAPI是建立在MVC和WCF的基础上的,原来微软老是喜欢封装的很多,这次终于愿意将http编程模型的相关细节暴露给我们了。...在之前的介绍,基本上都基于.NET 4.5之后版本,其System.Net.Http程序集非常的丰富,而老版本的则相对较弱。...在WebAPI v1.0(和ASP.NET MVC4在一起的版本)很多的类和接口并不存在,同时对Task异步编程(ApiController默认提供异步执行方法)的支持还有一些欠缺(缺少不少方便的扩展方法...此外,这个的dataType='json'最终反应到http请求为Accept: application/json, 这个对于你使用过滤器拦截并新建httpMessageResponse的HttpContent...此外,需要注意过滤器的使用范围,包括:全局,在FilterConfig添加;类级别过滤器,通过添加特性的方式;方法级别过滤器。

    1.1K60

    使用 ASP.NET Web API 构建超媒体 Web API

    开发人员倾向在服务中提供所有支持的方法的静态描述,从正式约定( SOAP 服务的 Web 服务描述语言 (WSDL))到非超媒体 Web API 的简单文档都是如此。...客户端应使用 HTTP POST 还是 HTTP GET?如果它使用 POST,应在请求主体包含什么数据?尽管所有知识可能记录在某处,但是如果客户端可以实际发现该功能不更好吗?...在产品目录,用于访问第一个产品的“add-cart”链接的 HTTP GET 将检索用 XHTML 表示的以下表单: <input...现在我们来了解一下如何在使用 ASP.NET Web API 的生产环境实际实施这些原理,并使用此框架提供的所有可扩展性和功能。 在内核级别,ASP.NET Web API 支持格式化程序的概念。...每个格式化程序从基类 System.Net.Http.Formatting.MediaTypeFormatter 派生并重写方法 CanReadType/ReadFromStreamAsync 以支持反序列化

    2.8K50

    ASP.NET Web API编程——序列化与内容协商

    HTTP协议多媒体类型描述了消息体的格式。一个多媒体类型包括两个字符串:类型和子类型。...,其中MediaTypeFormatter使用异步的读写方法,BufferedMediaTypeFormatter使用同步的读写方法。...如果支持反序列化,那么在ReadFromStream方法同样添加选择编码方式的代码。...主要的内容协商机制包括如下的请求头: Accept:应答可接受的多媒体类型,"application/json," "application/xml," Accept-Charset:可接受的字符...MediaTypeMapping类提供了匹配HTTP请求的多媒体类型的一般方法。例如它可以匹配自定的HTTP请求头到特定的多媒体类型。 如果有多个匹配,那么选取质量因数最高的一个匹配。

    2.5K60

    ASP.NET Core使用Elasticsearch记录API请求响应日志实战演练

    一、ASP.NET Core WebApi如何设计一个日志中间件?...ASP.NET Core WebApi 一个良好的日志记录内容包含,唯一请求 Id(traceId),请求 url ,请求 body 内容,相应 body 内容,执行开始和执行结束时间,总耗时时间等等。...如何在 ASP.NET Core 使用 Elasticsearch 和 Kibana 来存储和展示我们应用程序的请求详细日志。 ElasticSearch 和 Kibana 改变了这一切。...二、ASP.NET Core WebApi如何存储应用程序请求相应日志? • 什么是 ElasticSearch ?...四、ASP.NET Core WebApi 如何友好的检索和实时展示日志? 1)、关于日志的检索,可以通过开启服务端目录访问权限,方便进行检索查到定位日志。

    1.6K20

    WebApi 和 WebService的区别

    Q 什么WebApi? A: WebApi是一种用来开发系统间接口、设备接口API的技术,基于Http协议,请求和返回格式结果默认是json格式。...序号 WebApi WebService 1 无状态,开源,部署在IIS和应用程序上 有状态,不开源,只能部署在IIS上 2 基于HTTP协议,数据格式为纯文本,Response可以被Web API的MediaTypeFormatter...转换成任何格式,常用Json格式 基于Soap协议,只支持HTTP协议,数据格式为XML 3 类似于cs架构,用的协议和端口,是根据开发人员定义的。...通常仅在两个系统之间交互,几乎总是依赖于类似XML-RPC的接口来相互通信,并且不同的客户端下各浏览器对XML的解析方式不一致,需要重复编写很多代码 6 适合为应用到应用的场景提供服务(C/S) 适合为端到端的场景提供服务...(B/S)

    1.7K10

    Visual Studio 2012 ASP.NET Web API

    SOAP 允许我们将我们的服务所需的所有知识放在信息本身",而"您可以使用 [Web API] 来创建只使用标准HTTP 概念 (URI 和动词)的HTTP服务,和创建使用更高级的 HTTP功能的服务...— — 请求/响应标头,超媒体概念等。...Kelly Sommers在澄清REST撰写了我认为是REST的最好诠释,无论你想编写 RESTful专注于资源的 HTTP 服务还是只是POX或 POJ (Plain Old XML 或Plain...它是ASP.NET 开源的Web栈的所有部分。 ASP.NET Web API Samples on Codeplex,看到C# 协议对象如何在 JSON 世界和 C# 世界之间轻易来回移动了吗?...以上内容来自:微小的开心功能第2部分-Visual Studio 2012 ASP.NET Web API MVC4 WebAPI(一) MVC4 WebAPI(二)——Web API工作方式 http

    3.2K80

    Asp.Net Web API 2第十四课——Content Negotiation(内容协商)

    前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET Web...在HTTP内容协商的主要机制是以下请求报头: Accept:响应可接收的媒体类型,“application/json”、“application/xml”,或者自定义媒体类型,“application...Accept-Language:优先选用的自然语言,“en-us”。 服务器也可以查看HTTP请求的其它选项。...接着,管线会调用IContentNegotiatior.Negotiate,在其中传递: 要序列化的对象类型 媒体格式化器集合 HTTP请求 Negotiate方法返回两个信息片段: 要使用的格式化器...首先,格式化器必须能够对类型进行序列化,这是通过MediaTypeFormatter.CanWriteType来检验的。 其次,内容协商器要考查每个格式化器,并评估此格式化器与HTTP请求的匹配好坏。

    80610

    Asp.Net WebApi核心对象解析(一)

    在.NET的体系的分布式技术主要有webservice,.net remoting,MSMQ,WCF等等,但是今天介绍的是Asp.Net WebApi,对于Asp.Net WebApi技术,估计很多人都不会陌生...ASP.NET WebAPI使用HTTP方法,而不是URI路径,以此来选择动作。还可以使用MVC样式路由的WebAPI。...在ASP.NET Web API,一个控制器是处理HTTP请求的类。控制器的公共方法被称为动作方法或简单的动作。当Web API框架接收到一个请求,它请求路由到一个动作。...(2).查找的动作,网络API着眼于HTTP方法,然后寻找一个动作名称以该HTTP方法名。例如,用GET请求WebAPI查找与“获取...”...ASP.NET Web API框架支持从请求元素到操作方法参数的绑定。对于HTTP响应值转换成适当的HTTP响应消息正文。

    4.4K70

    ASP.NET WebApi+Vue前后端分离之允许启用跨域请求

    前言:   这段时间接手了一个新需求,将一个ASP.NET MVC项目改成前后端分离项目。前端使用Vue,后端则是使用ASP.NET WebApi。...在搭建完成前后端框架后,进行接口测试时发现了一个前后端分离普遍存在的问题跨域(CORS)请求问题。因此就有了这篇文章如何启用ASP.NET WebApi 的 CORS 支持。.../Login/ShopKeeperLogin 405 (Method Not Allowed) 解决方法: 在项目Global.asax添加对OPTIONS方法的处理: /// <...:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。...允许所有来源,HTTP方法请求标头跨域: 在Web.config中找到system.webServer标签里面添加如下配置: <customHeaders

    2.6K20

    ASP.NET Core WebApi构建API接口服务实战演练

    构建一个优秀的API依赖于伟大的框架,今天我们的主角当然是微软的跨平台轻量级HTTP服务框架——Asp.net Core WebApi。...★ 客户端(C/S,B/S)如何调用ASP.NET Core WebApi服务接口 ★ 如何在Docker容器运行ASP.NET Core应用  1.2、正确的学习课程方式须知 1)、视频+...(备注:本课程不是完完全全的零基础教学,课程侧重是实战演练,因此需要大家结合自身的实际情况进行选择学习) 3)、在学习的过程,我们少一点抱怨,将多一份收获。...如果您在学习过程遇到任何的课程问题,请先私下直接找阿笨老师进行在线的沟通和交流。谢谢大家的理解和支持,预祝大家学习快乐!...十、客户端(C/S,B/S)如何调用ASP.NET Core WebApi服务接口 十一、如何在Docker容器运行ASP.NET Core应用 十二、总结

    2.2K30

    ASP.NET Core | 笔记

    依赖注入 AOP Q: A: ASP.NET Core 的静态文件 参考: ASP.NET Core 的静态文件 | Microsoft Docs 断点续传 参考: 5653325/.NET-WPF-MinIO...: asp.net core断点续传 vivo 应用商店的断点续传技术剖析 - SegmentFault 思否 服务端基于Http的Range头规则实现断点续传或分段下载(C#) - SegmentFault...此请求称为 预检请求。 如果满足以下 所有 条件,浏览器可以跳过预检请求请求方法为 GET、HEAD 或 POST。...webview 库 - 知乎 kklldog/AServer: AServer是基于asp.net core Kestrel封装的一个超迷你http服务器 进程管理 参考: C#在窗体程序运行控制台程序并管理其进程...看这里 - 老张的哲学 - 博客园 使用 .net core 自定义项目模板_沐雪大神-CSDN博客 JavaScript 拦截请求 参考: 使用 JavaScript 拦截和跟踪浏览器HTTP

    4.6K20

    MVC和Webapi的区别

    Webapi主要用于构建Restful服务,提供了较为完整的http语义支持,主要用来做开放API,更抽象,更不注重View的生成。...Webapi除了扩展了前者以外,另外写出了一套独立的,独立于Asp.Net的消息处理管道,就像是借鉴原来房子的模型,重新设计出了另外一套别墅。...WebApi可以部署在IIS里,也可以寄宿在不同的宿主上(寄宿的本质就是利用一个具体的应用程序为Web Api提供一个运行的环境,并解决请求的接收和响应的回复),Web Host,Self Host方式...WebApi可以部署在IIS里,也可以寄宿在不同的宿主上(寄宿的本质就是利用一个具体的应用程序为Web Api提供一个运行的环境,并解决请求的接收和响应的回复),Web Host,Self Host方式...从代码角度区分 mvc代码在System.Web.Mvc,Controller继承System.Mvc.Controller webapi代码在System.Web.Http程序集中,Controller

    3.2K20
    领券