Udostępnij za pośrednictwem


IMessageFilterTable<TFilterData>.GetMatchingFilter Metoda

Definicja

Zwraca filtr z tabeli, którego kryteria zapytania są spełnione przez określony komunikat lub komunikat buforowany.

Przeciążenia

GetMatchingFilter(Message, MessageFilter)

Zwraca wartość wskazującą, czy kryterium dopasowania dokładnie jednego filtru w tabeli jest spełnione przez określony komunikat i zwraca ten filtr w parametrze out .

GetMatchingFilter(MessageBuffer, MessageFilter)

Zwraca wartość wskazującą, czy kryterium dopasowania dokładnie jednego filtru w tabeli jest spełnione przez określony komunikat lub komunikat buforowany i zwraca ten filtr w parametrze out .

Uwagi

Użyj tej metody, gdy oczekuje się, że jeden filtr będzie zgodny z komunikatem, a pasujący filtr jest wymagany.

Użyj GetMatchingFilter , jeśli zawartość ciała nie wymaga badania. Użyj, GetMatchingFilter jeśli zawartość treści wiadomości może wymagać zbadania.

GetMatchingFilter(Message, MessageFilter)

Źródło:
IMessageFilterTable.cs

Zwraca wartość wskazującą, czy kryterium dopasowania dokładnie jednego filtru w tabeli jest spełnione przez określony komunikat i zwraca ten filtr w parametrze out .

public:
 bool GetMatchingFilter(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] System::ServiceModel::Dispatcher::MessageFilter ^ % filter);
public bool GetMatchingFilter (System.ServiceModel.Channels.Message message, out System.ServiceModel.Dispatcher.MessageFilter filter);
abstract member GetMatchingFilter : System.ServiceModel.Channels.Message * MessageFilter -> bool
Public Function GetMatchingFilter (message As Message, ByRef filter As MessageFilter) As Boolean

Parametry

message
Message

Element Message do przetestowania.

filter
MessageFilter

out parametr przechowujący filtr, który jest spełniony przez parametr message. Jeśli nie znaleziono filtru, parametr jest ustawiony na jego wartość domyślną.

Zwraca

true jeśli kryterium dopasowania co najmniej jednego filtru w tabeli jest spełnione przez messageparametr ; false jeśli filtr nie jest spełniony.

Uwagi

Użyj tej metody, gdy oczekuje się, że jeden filtr będzie zgodny z komunikatem, a pasujący filtr jest wymagany.

Jeśli treść komunikatu musi być sprawdzana przez filtr w tabeli filtrów, użyj GetMatchingFilter wersji metody .

Uwagi dotyczące implementowania

Jeśli komunikat jest zgodny z więcej niż jednym filtrem MultipleFilterMatchesException , należy go zgłosić.

Ta wersja przyjmuje Message element i musi zgłosić wartość InvalidBodyAccessException , jeśli spróbuje zbadać treść komunikatu.

Dotyczy

GetMatchingFilter(MessageBuffer, MessageFilter)

Źródło:
IMessageFilterTable.cs

Zwraca wartość wskazującą, czy kryterium dopasowania dokładnie jednego filtru w tabeli jest spełnione przez określony komunikat lub komunikat buforowany i zwraca ten filtr w parametrze out .

public:
 bool GetMatchingFilter(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, [Runtime::InteropServices::Out] System::ServiceModel::Dispatcher::MessageFilter ^ % filter);
public bool GetMatchingFilter (System.ServiceModel.Channels.MessageBuffer messageBuffer, out System.ServiceModel.Dispatcher.MessageFilter filter);
abstract member GetMatchingFilter : System.ServiceModel.Channels.MessageBuffer * MessageFilter -> bool
Public Function GetMatchingFilter (messageBuffer As MessageBuffer, ByRef filter As MessageFilter) As Boolean

Parametry

messageBuffer
MessageBuffer

Element MessageBuffer do przetestowania.

filter
MessageFilter

out parametr przechowujący filtr, który jest spełniony przez parametr message. Jeśli nie znaleziono filtru, parametr jest ustawiony na jego wartość domyślną.

Zwraca

true jeśli kryterium dopasowania co najmniej jednego filtru w tabeli jest spełnione przez messageBufferparametr ; false jeśli filtr nie jest spełniony.

Uwagi

Tej metody należy użyć, gdy oczekuje się, że jeden filtr będzie zgodny z komunikatem buforowym, należy zwrócić pasujący filtr, a treść komunikatu może być konieczne sprawdzenie.

Dotyczy