Język

MessageFilter.Match Metoda

Definicja

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

message
Message

Message Obiekt do przetestowania.

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.

Dotyczy