MessageFilter MessageFilter MessageFilter MessageFilter Class

Определение

Базовый класс abstract для различных классов фильтров, используемых для запроса сообщений.abstract base class for different classes of filters used to query messages.

public ref class MessageFilter abstract
[System.Runtime.Serialization.DataContract]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchNoneMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.ActionMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchAllMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.XPathMessageFilter))]
public abstract class MessageFilter
type MessageFilter = class
Public MustInherit Class MessageFilter
Наследование
MessageFilterMessageFilterMessageFilterMessageFilter
Производный
Атрибуты

Комментарии

Объект MessageFilter относится к классу abstract, который разработчики используют для указания критериев, используемых для проверки сообщений.MessageFilter 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. Процесс организации очереди, например, может использовать запрос XPath 1.0 для проверки элемента приоритета заданного заголовка, чтобы определить, требуется ли переместить сообщение вперед по очереди.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.

Фильтры хранятся в таблице фильтров, реализующей объект IMessageFilterTable<TFilterData>.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. Методы Match используются для определения соответствия сообщения фильтру.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.

Следующие классы реализуют класс abstractMessageFilter:The following classes implement the abstractMessageFilter class:

Объект ChannelListenerBase<TChannel> является базовым классом abstract, который можно использовать для записи прослушивателей, не организуемых в очереди.ChannelListenerBase<TChannel> is an abstract base class that you can use for writing non-queuing listeners.

Конструкторы

MessageFilter() MessageFilter() MessageFilter() MessageFilter()

При вызове в производном классе инициализирует новый экземпляр класса MessageFilter.When called in a derived class, initializes a new instance of the MessageFilter class.

Методы

CreateFilterTable<FilterData>() CreateFilterTable<FilterData>() CreateFilterTable<FilterData>() CreateFilterTable<FilterData>()

Создается таблица фильтров для фильтра, который имеет заданный тип данных, связанных с ним.Creates a filter table for a filter that has a specified type of data associated with it.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
Match(Message) Match(Message) Match(Message) Match(Message)

При переопределении в производном классе проверяет, удовлетворяет ли сообщение критериям фильтра.When overridden in a derived class, tests whether a message satisfies the filter criteria. Тело сообщения не проверяется.The body cannot be examined.

Match(MessageBuffer) Match(MessageBuffer) Match(MessageBuffer) Match(MessageBuffer)

При переопределении в производном классе, проверяет, удовлетворяет ли сообщение или буферизованное сообщение критериям фильтра.When overridden in a derived class, tests whether a buffered message satisfies the criteria of a filter.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Применяется к