网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

什么是消息处理程序?

更新时间:2026年03月27日   作者:spoto   标签(Tag):

消息处理程序本质上是从抽象类派生而来的。 HttpMessageHandler类,它也是消息处理器的基类。 可以将其定义为:接收HTTP请求并返回HTTP响应的类。 让我们举个例子吧。假设一个HTTP服务器接收到一个HTTP请求,那么这个请求会被传递给Handler A进行处理。在Handler A处理完该请求之后,请求会继续被传递到Handler B进行进一步的处理。这个过程会一直持续下去。 因此,它会根据需要来执行每个处理程序中所指定的特定任务。 不过,MessageHandler通常是一系列类的组合,这些类以串联的方式组合在一起。

第一个消息处理程序会接收到一个HTTP请求,然后对其进行相应的处理。处理完成后,该请求会被传递给下一个消息处理程序。经过一段时间后,某个特定时刻,响应会被生成,并再次被传送到下一个处理程序。所有这些处理模式都被称为“委托处理程序”。

为什么使用消息处理程序呢?

消息处理程序在多种情况下都很有用,比如:

  • 这有助于我们在HTTP请求和响应中更高效地执行相关操作。
  • 它也可以在客户端上使用。
  • 根据需求的不同,它有助于完成各个处理程序中的特定任务。
  • 它提供了检查XML/JSON格式的请求和响应内容的功能。
  • 此外,它还能让我们在发现需要修改的内容时,轻松地更改XML/JSON请求或响应的内容。

以下是几种消息处理器的类型。具体如下:

  1. 服务器端消息处理程序:服务器端消息处理程序指的是,Web API的管道机制所使用的那些内置的消息处理程序。这些处理程序是由MVC Web API框架所定义的。这些处理程序的例子包括:HttpServer、HttpRoutingDispatcher和HttpControlDispatcher。因此,服务器端消息处理程序本质上都是预先定义好的,它们能够在服务器端处理HTTP请求和响应。
  2. 自定义消息处理程序:“自定义消息处理程序”实际上是从`System.Net.Http.DelegatingHandler`派生而来的。它覆盖了`SendAsync`方法。该方法接收`HttpRequestMessage`作为输入,然后异步返回`HttpResponseMessage`作为结果。
  3. 每条路径的消息处理程序:通过使用“每条路由的消息处理程序”,如果你只希望为某些路由启用基本认证功能,那么只需在该路由中配置相应的消息处理程序即可。这样,你就能够完成所需的设置了。

有一些程序被用作消息处理工具,它们通过相同的接口被调用,而该接口则通过一个包含多个容器的通道来实现。这些容器可以进一步分为以下几种类型:

控制容器:“控制容器”仅对管道操作而言才具有必要性。它主要用于调整消息处理程序的处理顺序。

2. 上下文容器:在某些情况下,需要使用上下文容器。这些程序需要处理与它们被调用的方式相关的信息。此外,我们还可以修改上下文容器中存储的信息。

3. 用户容器;用户容器基本上用于存储那些一个消息处理程序需要传递给另一个消息处理程序的所需信息。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料