IMessageFilterTable<TFilterData>.GetMatchingValue IMessageFilterTable<TFilterData>.GetMatchingValue IMessageFilterTable<TFilterData>.GetMatchingValue IMessageFilterTable<TFilterData>.GetMatchingValue Method

Определение

Возвращает значение, указывающее, удовлетворяет ли заданное или буферизованное сообщение критерию соответствия одного фильтра, и возвращает данные фильтра для соответствующего фильтра.Returns a value that indicates whether the match criterion of a filter in the table is satisfied by the specified message or buffered message, and returns the filter data for the filter that matched.

Перегрузки

GetMatchingValue(Message, TFilterData) GetMatchingValue(Message, TFilterData) GetMatchingValue(Message, TFilterData)

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

GetMatchingValue(MessageBuffer, TFilterData) GetMatchingValue(MessageBuffer, TFilterData) GetMatchingValue(MessageBuffer, TFilterData) GetMatchingValue(MessageBuffer, TFilterData)

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

Комментарии

Используйте один из этих методов, если как минимум один фильтр будет удовлетворять сообщению и требуется восстановить только данные фильтра из соответствующего фильтра.Use one of these methods when, at most, one filter is expected to match the message and only the filter data from the matching filter must be recovered. Эти методы возвращают логические значения, указывающие, был ли найден соответствующий фильтр, и присваивают ссылочному параметру data найденные данные фильтра.These methods return a boolean that indicates whether a matching filter was found and set the data reference parameter to the matching filter data.

Используйте экземпляр GetMatchingFilter, если текст сообщения не проверяется ни одним фильтром из таблицы фильтров.Use GetMatchingFilter if the body of the message is not inspected by any of the filters in the filter table.

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

GetMatchingValue(Message, TFilterData) GetMatchingValue(Message, TFilterData) GetMatchingValue(Message, TFilterData)

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

public:
 bool GetMatchingValue(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] TFilterData % data);
public bool GetMatchingValue (System.ServiceModel.Channels.Message message, out TFilterData data);
abstract member GetMatchingValue : System.ServiceModel.Channels.Message *  -> bool

Параметры

message
Message Message Message Message

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

value
TFilterData TFilterData TFilterData TFilterData

Параметр out, хранящий параметр FilterData, удовлетворяющий условиям message.out parameter that stores the FilterData that matches the message.

Возвраты

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

Комментарии

Используйте этот метод, если предполагается, что только один фильтр будет удовлетворять сообщению и требуется восстановить только данные фильтра из соответствующего фильтра.Use this method when a single filter is expected to match the message and only the filter data from the matching filter must be recovered.

Этот метод предполагает нахождение хотя бы одного соответствующего фильтра.This method expects at most a single matching filter. Если сообщению соответствуют несколько фильтров, должно быть создано исключение MultipleFilterMatchesException.If more than one filter matches, a MultipleFilterMatchesException must be thrown.

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

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

Если сообщению соответствуют несколько фильтров, должно быть создано исключение MultipleFilterMatchesException.If more than one filter matches the message, a MultipleFilterMatchesException must be thrown.

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

GetMatchingValue(MessageBuffer, TFilterData) GetMatchingValue(MessageBuffer, TFilterData) GetMatchingValue(MessageBuffer, TFilterData) GetMatchingValue(MessageBuffer, TFilterData)

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

public:
 bool GetMatchingValue(System::ServiceModel::Channels::MessageBuffer ^ buffer, [Runtime::InteropServices::Out] TFilterData % data);
public bool GetMatchingValue (System.ServiceModel.Channels.MessageBuffer buffer, out TFilterData data);
abstract member GetMatchingValue : System.ServiceModel.Channels.MessageBuffer *  -> bool
Public Function GetMatchingValue (buffer As MessageBuffer, ByRef data As TFilterData) As Boolean

Параметры

messageBuffer
MessageBuffer MessageBuffer MessageBuffer MessageBuffer

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

value
TFilterData TFilterData TFilterData TFilterData

Параметр out, хранящий параметр FilterData, удовлетворяющий условиям messageBuffer.out parameter that stores the FilterData that matches the messageBuffer.

Возвраты

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

Комментарии

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

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

Если сообщению соответствуют несколько фильтров, должно быть создано исключение MultipleFilterMatchesException.If more than one filter matches the message, a MultipleFilterMatchesException must be thrown.

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