abstract base class for different classes of filters used to query messages.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
Thetype exposes the following members.
|CreateFilterTable<FilterData>||Creates a filter table for a filter that has a specified type of data associated with it.|
|Equals(Object)||Determines whether the specified object is equal to the current object. (Inherited from Object.)|
|Finalize||Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)|
|GetHashCode||Serves as the default hash function. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|Match(Message)||When overridden in a derived class, tests whether a message satisfies the filter criteria. The body cannot be examined.|
|Match(MessageBuffer)||When overridden in a derived class, tests whether a buffered message satisfies the criteria of a filter.|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
is an abstract class that developers implement in order to specify the criteria to use for inspecting messages. Typically, filters are used by an endpoint application to determine what to do with a message based on an examination of some part of the message. A queuing process, for example, can use an XPath 1.0 query to check the priority element of a known header to determine whether to move a message to the front of the queue.
Filters are stored in a filter table that implements IMessageFilterTable<TFilterData>. Each filter in the table is associated with specified filter data that can be used to indicate what actions to take if a message matches the filter. The Match methods are used to determine if a message satisfies a filter.
The criteria used by a filter cannot be changed once the filter is constructed because the filter tables have no way to detect a change. The only way to modify the criteria of a filter is to construct a new one and delete the existing filter.
The following classes implement the abstract class:
XPathMessageFilter uses an XPath 1.0 expression to specify the criteria for a match.
MatchAllMessageFilter matches all messages.
MatchNoneMessageFilter matches none of the messages.
ActionMessageFilter tests whether the action of a message is one of a specified set of actions.
EndpointAddressMessageFilter tests whether a message satisfies a specified endpoint address.
ChannelListenerBase<TChannel> is an abstract base class that you can use for writing non-queuing listeners.