Freigeben über


MessageFilter.Match Methode

Definition

Wenn dies in einer abgeleiteten Klasse überschrieben wird, wird getestet, ob eine Nachricht oder eine gepufferte Nachricht die Kriterien eines Filters erfüllt.

Überlädt

Match(Message)

Wenn dies in einer abgeleiteten Klasse überschrieben wird, wird getestet, ob eine Nachricht die Filterkriterien erfüllt. Der Text kann nicht überprüft werden.

Match(MessageBuffer)

Wenn dies in einer abgeleiteten Klasse überschrieben wird, wird getestet, ob eine gepufferte Nachricht die Kriterien eines Filters erfüllt.

Hinweise

Der Unterschied zwischen den zwei Überladungen besteht darin, dass eine Überladung einen Message-Parameter entgegennimmt und den Nachrichtentext nicht überprüfen darf. Die andere Überladung nimmt einen MessageBuffer-Parameter entgegen und kann jeden Teil der Nachricht überprüfen. Nachrichtenheader werden automatisch gepuffert und können durch einen Filter geprüft werden, ohne verwendet zu werden. Wenn jedoch der Nachrichtentext durch einen Filter überprüft werden soll, muss die gesamte Nachricht gepuffert werden, da eine nicht gepufferte Nachricht durch eine Abfrage verwendet werden kann, wodurch ihr Inhalt zerstört wird.

Verwenden Sie Match, wenn die Prüfung des Nachrichtentexts nicht erforderlich ist. Verwenden Sie Match, wenn die Prüfung des Nachrichtentexts erforderlich ist.

Match(Message)

Wenn dies in einer abgeleiteten Klasse überschrieben wird, wird getestet, ob eine Nachricht die Filterkriterien erfüllt. Der Text kann nicht überprüft werden.

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

Parameter

message
Message

Das zu überprüfende Message-Objekt.

Gibt zurück

Boolean

true, wenn das Message-Objekt die Filterkriterien erfüllt, andernfalls false.

Hinweise

Diese Methode kann den Inhalt des Nachrichtentexts nicht überprüfen.

Hinweise für Ausführende

Wenn der Filter versucht, den Text einer nicht gepufferten Nachricht zu überprüfen, muss der Filter InvalidBodyAccessException auslösen. Er sollte nicht false zurückgeben.

Gilt für

Match(MessageBuffer)

Wenn dies in einer abgeleiteten Klasse überschrieben wird, wird getestet, ob eine gepufferte Nachricht die Kriterien eines Filters erfüllt.

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

Parameter

buffer
MessageBuffer

Das zu überprüfende MessageBuffer-Objekt.

Gibt zurück

Boolean

true, wenn das MessageBuffer-Objekt die Filterkriterien erfüllt, andernfalls false.

Hinweise

Die Nachricht muss vollständig gepuffert werden, wenn der Text vom Filter überprüft werden soll. Der Text von MessageBuffer wird vollständig gepuffert und kann deshalb von einem Filter überprüft werden. Der Text einer Message, die nicht vollständig gepuffert wurde, kann durch die Filterprüfung verwendet werden. Das Headerelement einer Message wird automatisch gepuffert und kann deshalb überprüft werden, ohne verwendet zu werden.

Gilt für