MessageFilter.Match Methode

Definition

Wenn sie in einer abgeleiteten Klasse überschrieben werden, überprüft Sie, ob eine Nachricht oder eine gepufferte Nachricht die Kriterien eines Filters erfüllt.

Überlädt

Name Beschreibung
Match(Message)

Wenn sie in einer abgeleiteten Klasse überschrieben werden, wird überprüft, ob eine Nachricht die Filterkriterien erfüllt. Der Körper kann nicht untersucht werden.

Match(MessageBuffer)

Wenn sie in einer abgeleiteten Klasse überschrieben werden, überprüft, ob eine gepufferte Nachricht die Kriterien eines Filters erfüllt.

Hinweise

Der Unterschied zwischen den beiden Überladungen besteht darin, dass ein Parameter verwendet Message wird und der Textkörper nicht untersucht werden darf. Die andere akzeptiert einen MessageBuffer Parameter und kann einen beliebigen Teil der Nachricht untersuchen. Nachrichtenkopfzeilen werden automatisch gepuffert und können von einem Filter überprüft werden, ohne verbraucht zu werden. Wenn der Textkörper jedoch von einem Filter überprüft werden soll, muss die gesamte Nachricht gepuffert werden, da ein unbufferter Nachrichtentext von einer Abfrage und dessen Inhalt zerstört werden kann.

Verwendung, Match wenn die Untersuchung des Körpers nicht erforderlich ist. Verwenden Sie Match dies, wenn die Überprüfung des Nachrichtentexts erforderlich ist.

Match(Message)

Quelle:
MessageFilter.cs
Quelle:
MessageFilter.cs
Quelle:
MessageFilter.cs

Wenn sie in einer abgeleiteten Klasse überschrieben werden, wird überprüft, ob eine Nachricht die Filterkriterien erfüllt. Der Körper kann nicht untersucht 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 Message zu testende Objekt.

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 Textkörper einer ungepufferten Nachricht zu untersuchen, muss der Filter einen InvalidBodyAccessException. Es sollte nicht zurückgegeben werden false.

Gilt für:

Match(MessageBuffer)

Quelle:
MessageFilter.cs
Quelle:
MessageFilter.cs
Quelle:
MessageFilter.cs

Wenn sie in einer abgeleiteten Klasse überschrieben werden, überprüft, 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 MessageBuffer zu testende 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 Textkörper vom Filter überprüft werden soll. Der Textkörper der MessageBuffer ist vollständig gepuffert und kann daher durch einen Filter geprüft werden. Der Textkörper eines nicht vollständig gepufferten Inhalts Message kann von der Filterüberprüfung genutzt werden. Das Kopfzeilenelement einer Message wird automatisch gepuffert und kann daher ohne Nutzung geprüft werden.

Gilt für: