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
trueMessage 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
trueMessageBuffer 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.