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)

适用于