MessageFilter.Match Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Po przesłonięciu w klasie pochodnej sprawdza, czy komunikat lub komunikat buforowany spełniają kryteria filtru.
Przeciążenia
Match(Message) |
Po przesłonięciu w klasie pochodnej sprawdza, czy komunikat spełnia kryteria filtrowania. Nie można zbadać ciała. |
Match(MessageBuffer) |
Po przesłonięciu w klasie pochodnej sprawdza, czy komunikat buforowany spełnia kryteria filtru. |
Uwagi
Różnica między dwoma przeciążeniami polega na tym, że jeden przyjmuje Message parametr i nie może zbadać treści. Drugi przyjmuje parametr i może zbadać dowolną MessageBuffer część komunikatu. Nagłówki komunikatów są automatycznie buforowane i mogą być sprawdzane przez filtr bez użycia. Jeśli jednak treść ma być sprawdzana przez filtr, cały komunikat musi być buforowany, ponieważ treść komunikatu niebuforowanego może zostać zużyta przez zapytanie i jego zawartość została zniszczona.
Należy użyć Match , jeśli badanie ciała nie jest wymagane. Użyj Match , jeśli wymagane jest badanie treści wiadomości.
Match(Message)
Po przesłonięciu w klasie pochodnej sprawdza, czy komunikat spełnia kryteria filtrowania. Nie można zbadać ciała.
public:
abstract bool Match(System::ServiceModel::Channels::Message ^ message);
public abstract bool Match (System.ServiceModel.Channels.Message message);
abstract member Match : System.ServiceModel.Channels.Message -> bool
Public MustOverride Function Match (message As Message) As Boolean
Parametry
Zwraca
true
Message jeśli obiekt spełnia kryteria filtrowania; w przeciwnym razie wartość false
.
Uwagi
Ta metoda nie może sprawdzić zawartości treści komunikatu.
Uwagi dotyczące implementowania
Jeśli filtr próbuje zbadać treść niebuforowanego komunikatu, filtr musi zgłosić wyjątek InvalidBodyAccessException. Nie powinien zwracać wartości false
.
Dotyczy
Match(MessageBuffer)
Po przesłonięciu w klasie pochodnej sprawdza, czy komunikat buforowany spełnia kryteria filtru.
public:
abstract bool Match(System::ServiceModel::Channels::MessageBuffer ^ buffer);
public abstract bool Match (System.ServiceModel.Channels.MessageBuffer buffer);
abstract member Match : System.ServiceModel.Channels.MessageBuffer -> bool
Public MustOverride Function Match (buffer As MessageBuffer) As Boolean
Parametry
- buffer
- MessageBuffer
Obiekt do testowania MessageBuffer .
Zwraca
true
MessageBuffer jeśli obiekt spełnia kryteria filtrowania; w przeciwnym razie wartość false
.
Uwagi
Komunikat musi być w pełni buforowany, jeśli treść ma być sprawdzana przez filtr. Treść obiektu MessageBuffer jest w pełni buforowana i w związku z tym może być sprawdzana przez filtr. Treść obiektu Message , który nie został w pełni buforowany, może być zużywana przez inspekcję filtru. Element nagłówka elementu Message jest automatycznie buforowany i dlatego można go sprawdzić bez użycia.