MessageFilter 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
用于查询消息的筛选器的不同的类的 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 方法用于确定消息是否满足筛选器的条件。
一旦构造筛选器,筛选器使用的条件无法更改,因为筛选器表无法检测更改。 修改筛选器的条件的唯一方法是构造一个新的筛选器,然后删除现有筛选器。
以下类实现abstract
MessageFilter类:
XPathMessageFilter 使用 XPath 1.0 表达式来指定匹配的条件。
MatchAllMessageFilter 与所有消息相匹配。
MatchNoneMessageFilter 与所有消息都不匹配。
ActionMessageFilter 测试消息操作是否为指定的操作集之一。
EndpointAddressMessageFilter 测试消息是否满足指定的终结点地址。
ChannelListenerBase<TChannel> 是一个 abstract
基类,可用于编写非队列侦听程序。
构造函数
MessageFilter() |
在派生类中调用时,初始化 MessageFilter 类的新实例。 |
方法
CreateFilterTable<FilterData>() |
创建与指定类型的数据相关联的筛选器的筛选器表。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
Match(Message) |
在派生类中被重写时,测试消息是否满足筛选器的条件。 无法检查正文。 |
Match(MessageBuffer) |
在派生类中被重写时,测试缓冲的消息是否满足筛选器的条件。 |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |