MessageFilter.Match Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
Gibt zurück
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
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.