Partager via


MessageFilter.Match Méthode

Définition

En cas de substitution dans une classe dérivée, vérifie si un message ou un message mis en mémoire tampon correspond aux critères d'un filtre.

Surcharges

Match(Message)

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

Match(MessageBuffer)

En cas de substitution dans une classe dérivée, vérifie si un message mis en mémoire tampon correspond aux critères d'un filtre.

Remarques

La différence entre les deux surcharges est que l'une prend un paramètre Message et n'est pas autorisée à examiner le corps. L'autre prend un paramètre MessageBuffer et peut examiner n'importe quelle partie du message. Les en-tête de messages 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, la totalité du message doit donc être mise en mémoire tampon car un corps de message non mis en mémoire tampon peut être consommé par une requête et son contenu peut être détruit.

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

Match(Message)

En cas de substitution dans une classe dérivée, vérifie si un message correspond 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

Boolean

true si l'objet Message correspond 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 mis en mémoire tampon, alors le filtre doit lever une InvalidBodyAccessException. La valeur false ne doit pas être retournée.

S’applique à

Match(MessageBuffer)

En cas de substitution dans une classe dérivée, vérifie si un message mis en mémoire tampon correspond 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

Boolean

true si l'objet MessageBuffer correspond 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 MessageBuffer est entièrement mis en mémoire tampon et peut par conséquent être inspecté par un filtre. Le corps d'un Message qui n'a pas été entièrement mis en mémoire tampon peut être consommé par l'inspection de filtre. L'élément d'en-tête d'un Message est automatiquement mis en mémoire tampon et peut par conséquent être inspecté sans être consommé.

S’applique à