Udostępnij za pośrednictwem


IMessageFilterTable<TFilterData>.GetMatchingValue Metoda

Definicja

Zwraca wartość wskazującą, czy kryterium dopasowania filtru w tabeli jest spełnione przez określony komunikat lub komunikat buforowany, i zwraca dane filtru dla filtru, który jest zgodny.

Przeciążenia

GetMatchingValue(Message, TFilterData)

Zwraca wartość wskazującą, czy kryterium dopasowania dokładnie jednego filtru w tabeli jest spełnione przez określony komunikat i dodaje pasujące dane filtru do kolekcji.

GetMatchingValue(MessageBuffer, TFilterData)

Zwraca wartość wskazującą, czy kryterium dopasowania dokładnie jednego filtru w tabeli jest spełnione przez określony komunikat buforowany i dodaje pasujące dane filtru do kolekcji.

Uwagi

Użyj jednej z tych metod, gdy co najwyżej jeden filtr jest zgodny z komunikatem, a tylko dane filtru z pasującego filtru muszą zostać odzyskane. Te metody zwracają wartość logiczną wskazującą, czy znaleziono pasujący filtr i ustawić data parametr referencyjny na pasujące dane filtru.

Użyj GetMatchingFilter opcji , jeśli treść komunikatu nie jest sprawdzana przez żadne z filtrów w tabeli filtrów.

Jeśli treść komunikatu może zostać sprawdzona przez filtr w tabeli filtrów, buforuj komunikat i przekaż go do GetMatchingFilter wersji metody .

GetMatchingValue(Message, TFilterData)

Źródło:
IMessageFilterTable.cs
Ź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 dodaje pasujące dane filtru do kolekcji.

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

Parametry

message
Message

Element Message do przetestowania.

value
TFilterData

out parametr, który przechowuje element zgodny z FilterData parametrem message.

Zwraca

true jeśli kryterium dopasowania dokładnie jednego filtru w tabeli jest spełnione przez komunikat; false jeśli filtr nie jest spełniony.

Uwagi

Użyj tej metody, gdy oczekuje się, że jeden filtr jest zgodny z komunikatem i należy odzyskać tylko dane filtru z pasującego filtru.

Ta metoda oczekuje co najwyżej jednego zgodnego filtru. Jeśli więcej niż jeden filtr pasuje, MultipleFilterMatchesException należy zgłosić wartość .

Jeśli treść komunikatu musi być sprawdzana przez filtr w tabeli filtrów, buforuj komunikat przy użyciu CreateBufferedCopy i przekaż go do GetMatchingValue wersji metody .

Uwagi dotyczące implementowania

Jeśli więcej niż jeden filtr pasuje do komunikatu, MultipleFilterMatchesException należy zgłosić wartość .

To przeciążenie przyjmuje element Message i musi zgłosić InvalidBodyAccessException błąd, jeśli próbuje zbadać treść komunikatu.

Dotyczy

GetMatchingValue(MessageBuffer, TFilterData)

Źródło:
IMessageFilterTable.cs
Ź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 buforowany i dodaje pasujące dane filtru do kolekcji.

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

Parametry

messageBuffer
MessageBuffer

Element MessageBuffer do przetestowania.

value
TFilterData

out parametr, który przechowuje element zgodny z FilterData parametrem messageBuffer.

Zwraca

true jeśli kryterium dopasowania dokładnie jednego filtru w tabeli jest spełnione przez komunikat; false jeśli filtr nie jest spełniony.

Uwagi

Użyj tej metody, gdy oczekuje się, że jeden filtr jest zgodny z buforowaną wiadomością, należy odzyskać tylko dane filtru z pasującego filtru, a treść komunikatu może być sprawdzana.

Uwagi dotyczące implementowania

Jeśli więcej niż jeden filtr pasuje do komunikatu, MultipleFilterMatchesException należy zgłosić wartość .

Dotyczy