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, 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
Retours
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
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é.