Udostępnij za pośrednictwem


MessageFilter.Match Metoda

Definicja

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

message
Message

Obiekt do testowania Message .

Zwraca

Boolean

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

Boolean

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.

Dotyczy