MessageFilter.Match Méthode

Définition

En cas de substitution dans une classe dérivée, teste si un message ou un message mis en mémoire tampon répond aux critères d’un filtre.

Surcharges

Nom Description
Match(Message)

En cas de substitution dans une classe dérivée, teste si un message répond aux critères de filtre. Le corps ne peut pas être examiné.

Match(MessageBuffer)

En cas de substitution dans une classe dérivée, teste si un message mis en mémoire tampon répond aux critères d’un filtre.

Remarques

La différence entre les deux surcharges est que l’on prend un Message paramètre et n’est pas autorisé à examiner le corps. L’autre prend un MessageBuffer paramètre et peut examiner n’importe quelle partie du message. Les en-têtes de message sont automatiquement mis en mémoire tampon et peuvent être inspectés par un filtre sans être consommés. Toutefois, si le corps doit être inspecté par un filtre, l’ensemble du message doit être mis en mémoire tampon, car un corps de message non débogué peut être consommé par une requête et son contenu détruit.

Utilisez Match si l’examen du corps n’est pas obligatoire. Utilisez Match si l’examen du corps du message est requis.

Match(Message)

En cas de substitution dans une classe dérivée, teste si un message répond aux critères de filtre. Le corps ne peut pas être examiné.

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

Paramètres

message
Message

Objet Message à tester.

Retours

true si l’objet Message répond aux critères de filtre ; sinon, false.

Remarques

Cette méthode ne peut pas inspecter le contenu du corps du message.

Notes pour les responsables de l’implémentation

Si le filtre tente d’examiner le corps d’un message non sauvegardé, le filtre doit lever un InvalidBodyAccessException. Il ne doit pas retourner false.

S’applique à

Match(MessageBuffer)

En cas de substitution dans une classe dérivée, teste si un message mis en mémoire tampon répond aux critères d’un filtre.

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

Paramètres

buffer
MessageBuffer

Objet MessageBuffer à tester.

Retours

true si l’objet MessageBuffer répond aux critères de filtre ; sinon, false.

Remarques

Le message doit être entièrement mis en mémoire tampon si le corps doit être inspecté par le filtre. Le corps de l’objet MessageBuffer est entièrement mis en mémoire tampon et peut donc être inspecté par un filtre. Le corps d’un Message objet qui n’a pas été entièrement mis en mémoire tampon peut être consommé par l’inspection du filtre. L’élément d’en-tête d’un Message est automatiquement mis en mémoire tampon et peut donc être inspecté sans être consommé.

S’applique à