MessageFilter 类

定义

abstract 用于查询消息的不同筛选器类的基类。

public ref class MessageFilter abstract
[System.Runtime.Serialization.DataContract]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.ActionMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.XPathMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchAllMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchNoneMessageFilter))]
public abstract class MessageFilter
[<System.Runtime.Serialization.DataContract>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.ActionMessageFilter))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.XPathMessageFilter))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchAllMessageFilter))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchNoneMessageFilter))>]
type MessageFilter = class
Public MustInherit Class MessageFilter
继承
MessageFilter
派生
属性

注解

MessageFilter 是开发人员实现的 abstract 类,用于指定用于检查消息的条件。 通常,终结点应用程序使用筛选器来确定基于消息的某些部分的检查对消息执行的操作。 例如,队列过程可以使用 XPath 1.0 查询来检查已知标头的优先级元素,以确定是否将消息移到队列的前面。

筛选器存储在实现 IMessageFilterTable<TFilterData>的筛选器表中。 表中的每个筛选器都与指定的筛选器数据相关联,这些数据可用于指示当消息与筛选器匹配时要执行的操作。 Match 方法用于确定消息是否满足筛选器。

构造筛选器后,无法更改筛选器使用的条件,因为筛选器表无法检测更改。 修改筛选器条件的唯一方法是构造一个新筛选器并删除现有筛选器。

以下类实现 abstractMessageFilter 类:

ChannelListenerBase<TChannel> 是一个 abstract 基类,可用于编写非队列侦听器。

构造函数

MessageFilter()

在派生类中调用时,初始化 MessageFilter 类的新实例。

方法

CreateFilterTable<FilterData>()

为具有与之关联的指定类型的数据的筛选器创建筛选器表。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
Match(Message)

在派生类中重写时,测试消息是否满足筛选条件。 无法检查正文。

Match(MessageBuffer)

在派生类中重写时,测试缓冲消息是否满足筛选器的条件。

MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

适用于