IMessageFilterTable<TFilterData>.GetMatchingValue Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, указывающее, удовлетворяет ли заданное или буферизованное сообщение критерию соответствия одного фильтра, и возвращает данные фильтра для соответствующего фильтра.
Перегрузки
GetMatchingValue(Message, TFilterData) |
Возвращает значение, указывающее, удовлетворяет ли заданное сообщение критерию соответствия одного фильтра, и добавляет соответствующие данные фильтра в коллекцию. |
GetMatchingValue(MessageBuffer, TFilterData) |
Возвращает значение, указывающее, удовлетворяет ли заданное буферизованное сообщение критерию соответствия одного фильтра, и добавляет соответствующие данные фильтра в коллекцию. |
Комментарии
Используйте один из этих методов, если как минимум один фильтр будет удовлетворять сообщению и требуется восстановить только данные фильтра из соответствующего фильтра. Эти методы возвращают логические значения, указывающие, был ли найден соответствующий фильтр, и присваивают ссылочному параметру data
найденные данные фильтра.
Используйте экземпляр GetMatchingFilter, если текст сообщения не проверяется ни одним фильтром из таблицы фильтров.
Если текст сообщения может проверяться фильтром в таблице фильтров, то поместите сообщение в буфер и передайте его в версию GetMatchingFilter метода.
GetMatchingValue(Message, TFilterData)
- Исходный код:
- IMessageFilterTable.cs
- Исходный код:
- IMessageFilterTable.cs
Возвращает значение, указывающее, удовлетворяет ли заданное сообщение критерию соответствия одного фильтра, и добавляет соответствующие данные фильтра в коллекцию.
public:
bool GetMatchingValue(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.Message message, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.Message * 'FilterData -> bool
Public Function GetMatchingValue (message As Message, ByRef value As TFilterData) As Boolean
Параметры
- value
- TFilterData
out
параметр , в котором хранится FilterData
объект , соответствующий message
.
Возвращаемое значение
true
, если сообщение удовлетворяет критериям соответствия только одного фильтра в таблице; false
, если не соответствует ни одному фильтру.
Комментарии
Используйте этот метод, если предполагается, что только один фильтр будет удовлетворять сообщению и требуется восстановить только данные фильтра из соответствующего фильтра.
Этот метод предполагает нахождение хотя бы одного соответствующего фильтра. Если сообщению соответствуют несколько фильтров, должно быть создано исключение MultipleFilterMatchesException.
Если текст сообщения должен проверяться фильтром в таблице фильтров, то поместите сообщение в буфер при помощи метода CreateBufferedCopy и передайте его в версию GetMatchingValue метода.
Примечания для тех, кто реализует этот метод
Если сообщению соответствуют несколько фильтров, должно быть создано исключение MultipleFilterMatchesException.
В данной перегрузке берется Message и должно выдаваться исключение InvalidBodyAccessException, если производится попытка проверить текст сообщения.
Применяется к
GetMatchingValue(MessageBuffer, TFilterData)
- Исходный код:
- IMessageFilterTable.cs
- Исходный код:
- IMessageFilterTable.cs
Возвращает значение, указывающее, удовлетворяет ли заданное буферизованное сообщение критерию соответствия одного фильтра, и добавляет соответствующие данные фильтра в коллекцию.
public:
bool GetMatchingValue(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.MessageBuffer messageBuffer, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.MessageBuffer * 'FilterData -> bool
Public Function GetMatchingValue (messageBuffer As MessageBuffer, ByRef value As TFilterData) As Boolean
Параметры
- messageBuffer
- MessageBuffer
Объект MessageBuffer для проверки.
- value
- TFilterData
out
параметр , в котором хранится FilterData
объект , соответствующий messageBuffer
.
Возвращаемое значение
true
, если сообщение удовлетворяет критериям соответствия только одного фильтра в таблице; false
, если не соответствует ни одному фильтру.
Комментарии
Используйте этот метод, если предполагается, что только один фильтр будет удовлетворять буферизованному сообщению, и требуется восстановить только данные фильтра из найденного фильтра, а тело сообщения может потребоваться проверить.
Примечания для тех, кто реализует этот метод
Если сообщению соответствуют несколько фильтров, должно быть создано исключение MultipleFilterMatchesException.