MessageFilter.Match Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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é.