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.
Gdy przesłonięta w klasie pochodnej, sprawdza, czy komunikat lub komunikat buforowany spełnia kryteria filtru.
Przeciążenia
| Nazwa | Opis |
|---|---|
| Match(Message) |
Po zastąpieniu klasy pochodnej sprawdza, czy komunikat spełnia kryteria filtrowania. Nie można zbadać ciała. |
| Match(MessageBuffer) |
Gdy przesłonięta w klasie pochodnej, sprawdza, czy buforowany komunikat 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ż niebuforowana treść komunikatu 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 zbadanie treści wiadomości.
Match(Message)
- Źródło:
- MessageFilter.cs
- Źródło:
- MessageFilter.cs
- Źródło:
- MessageFilter.cs
Po zastąpieniu klasy 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 false.
Uwagi
Ta metoda nie może sprawdzić zawartości treści komunikatu.
Notatki 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)
- Źródło:
- MessageFilter.cs
- Źródło:
- MessageFilter.cs
- Źródło:
- MessageFilter.cs
Gdy przesłonięta w klasie pochodnej, sprawdza, czy buforowany komunikat 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
MessageBuffer Obiekt do przetestowania.
Zwraca
true
MessageBuffer jeśli obiekt spełnia kryteria filtrowania; w przeciwnym razie 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 dlatego można je sprawdzić za pomocą filtru. 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.