IMessageFilterTable<TFilterData>.GetMatchingFilters IMessageFilterTable<TFilterData>.GetMatchingFilters IMessageFilterTable<TFilterData>.GetMatchingFilters IMessageFilterTable<TFilterData>.GetMatchingFilters Method

Определение

Добавляет фильтры, чьим критериям запроса удовлетворяет указанное сообщение или буферизованное сообщение, в коллекцию. Adds the filters whose query criteria are satisfied by a specified message or buffered message to a collection.

Перегрузки

GetMatchingFilters(Message, ICollection<MessageFilter>) GetMatchingFilters(Message, ICollection<MessageFilter>) GetMatchingFilters(Message, ICollection<MessageFilter>)

Возвращает значение, указывающее, удовлетворяет ли заданное сообщение критерию соответствия хотя бы одного фильтра, и добавляет соответствующие фильтры в коллекцию. Returns a value that indicates whether the match criterion of a filter in the table is satisfied by the specified message, and adds the matching filters to a collection.

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>) GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>) GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>) GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Возвращает значение, указывающее, удовлетворяет ли заданное сообщение или буферизованное сообщение критерию соответствия хотя бы одного фильтра, и добавляет соответствующие фильтры в коллекцию. Returns a value that indicates whether the match criterion of a filter in the table is satisfied by the specified buffered message, and adds the matching filters to a collection.

Комментарии

Используйте один из этих методов, если предполагается, что несколько фильтров будут удовлетворять условиям сообщения, и эти фильтры требуются.Use one of these methods when more than one filter is expected to match the message and the matching filters are required. Обратите внимание, что коллекция, содержащая фильтры, не очищается до добавления результатов.Note that the collection that contains the filters is not cleared before the results are added. Это позволяет накапливать все найденные соответствия для нескольких таблиц фильтров в одной коллекции.This allows you to accumulate all matches across multiple filter tables into a single collection.

Если текст сообщения должен проверяться фильтром в таблице фильтров, то поместите сообщение в буфер и передайте его в метод GetMatchingFilters.If the body of the message must be inspected by a filter in the filter table, buffer the message and pass it to the GetMatchingFilters method. В противном случае используйте коллекцию GetMatchingFilters.Otherwise, use GetMatchingFilters.

Объекты MessageFilter, соответствующие запросу, хранятся в параметре results.The matching MessageFilter objects are stored in the results parameter. Затем данные фильтра можно восстановить из таблицы фильтров путем использования этих фильтров в качестве ключей с методами, предоставляемыми словарем IDictionary<TKey,TValue>.The filter data can then be recovered from the filter table using these filters as keys with the methods provided by IDictionary<TKey,TValue>.

GetMatchingFilters(Message, ICollection<MessageFilter>) GetMatchingFilters(Message, ICollection<MessageFilter>) GetMatchingFilters(Message, ICollection<MessageFilter>)

Возвращает значение, указывающее, удовлетворяет ли заданное сообщение критерию соответствия хотя бы одного фильтра, и добавляет соответствующие фильтры в коллекцию. Returns a value that indicates whether the match criterion of a filter in the table is satisfied by the specified message, and adds the matching filters to a collection.

public:
 bool GetMatchingFilters(System::ServiceModel::Channels::Message ^ message, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.Message message, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
abstract member GetMatchingFilters : System.ServiceModel.Channels.Message * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool

Параметры

message
Message Message Message Message

Объект Message для проверки. The Message to test.

results
ICollection<MessageFilter>

Ссылочный параметр, в котором хранятся объекты MessageFilter, соответствующие условиям фильтра ICollection<T><Filter>. Reference parameter that stores the MessageFilter objects that match in ICollection<T><Filter>.

Возвраты

true, если параметр message удовлетворяет критерию соответствия по крайней мере одного фильтра из таблицы; false, если не удовлетворяются критерии ни одного из фильтров. true if the match criterion of at least one filter in the table is satisfied by message; false if no filter is satisfied.

Комментарии

Используйте этот метод, если предполагается, что несколько фильтров будут удовлетворять сообщению, соответствующие фильтры требуются и тело сообщения не требуется проверять.Use this method when more than one filter is expected to match the message, the matching filters are required, and the body of the message does not have to be inspected.

Примечания для тех, кто реализует этот метод

В данной версии берется Message и должно выдаваться исключение InvalidBodyAccessException, если производится попытка проверить текст сообщения. This version takes a Message and must throw an InvalidBodyAccessException if it tries to examine the message body.

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>) GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>) GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>) GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Возвращает значение, указывающее, удовлетворяет ли заданное сообщение или буферизованное сообщение критерию соответствия хотя бы одного фильтра, и добавляет соответствующие фильтры в коллекцию. Returns a value that indicates whether the match criterion of a filter in the table is satisfied by the specified buffered message, and adds the matching filters to a collection.

public:
 bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ buffer, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.MessageBuffer buffer, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
abstract member GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (buffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean

Параметры

messageBuffer
MessageBuffer MessageBuffer MessageBuffer MessageBuffer

Объект MessageBuffer для проверки. The MessageBuffer to test.

results
ICollection<MessageFilter>

Ссылочный параметр, в котором хранятся объекты MessageFilter, соответствующие условиям фильтра ICollection<T><Filter>. Reference parameter that stores the MessageFilter objects that match in ICollection<T><Filter>.

Возвраты

true, если параметр messageBuffer удовлетворяет критерию соответствия по крайней мере одного фильтра из таблицы; false, если не удовлетворяются критерии ни одного из фильтров. true if the match criterion of at least one filter in the table is satisfied by messageBuffer; false if no filter is satisfied.

Комментарии

Используйте этот метод, если предполагается, что несколько фильтров будут удовлетворять буферизованному сообщению, соответствующий фильтр требуется и тело сообщения может потребоваться проверить.Use this method when more than one filter is expected to match the buffered message, the matching filter is required, and the body of the message may have to be inspected.

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