Partager via


IMessageFilterTable<TFilterData>.GetMatchingFilters Méthode

Définition

Ajoute à une collection les filtres dont les critères de requête sont satisfaits par un message ou par un message mis en mémoire tampon précis.

Surcharges

GetMatchingFilters(Message, ICollection<MessageFilter>)

Retourne une valeur qui indique si le message indiqué respecte le critère de correspondance d'un filtre de la table, et ajoute les filtres correspondants à une collection.

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Retourne une valeur qui indique si le message mis en mémoire tampon indiqué respecte le critère de correspondance d'un filtre de la table, et ajoute les filtres correspondants à une collection.

Remarques

Utilisez l'une de ces méthodes lorsque plusieurs filtres sont supposés correspondre au message et que les filtres correspondants sont requis. Il est important de noter que la collection qui contient les filtres n’est pas effacée avant que les résultats soient ajoutés. Cela permet d'accumuler toutes les correspondances de plusieurs tables de filtres en une seule collection.

Si le corps du message doit être inspecté par un filtre dans la table de filtres, mettez le message en mémoire tampon et transmettez-le à la méthode GetMatchingFilters. Sinon, utilisez GetMatchingFilters.

Les objets MessageFilter correspondants sont stockés dans le paramètre results. Les données de filtre peuvent ensuite être récupérées de la table de filtres à l'aide de ces filtres utilisés comme clés avec les méthodes fournies par IDictionary<TKey,TValue>.

GetMatchingFilters(Message, ICollection<MessageFilter>)

Retourne une valeur qui indique si le message indiqué respecte le critère de correspondance d'un filtre de la table, et ajoute les filtres correspondants à une collection.

public:
 bool GetMatchingFilters(System::ServiceModel::Channels::Message ^ message, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.Message message, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
abstract member GetMatchingFilters : System.ServiceModel.Channels.Message * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (message As Message, results As ICollection(Of MessageFilter)) As Boolean

Paramètres

message
Message

Message à tester.

results
ICollection<MessageFilter>

Paramètre de référence qui stocke les objets MessageFilter qui correspondent dans ICollection<T><Filter>.

Retours

Boolean

true si le critère de correspondance d'au moins un filtre dans la table est respecté par message ; false si aucun filtre n'est respecté.

Remarques

Utilisez cette méthode lorsque plusieurs filtres sont supposés correspondre au message, que les filtres correspondants sont requis et que le corps du message n'a pas à être inspecté.

Notes pour les responsables de l’implémentation

Cette version reçoit un Message et doit lever une exception InvalidBodyAccessException si elle tente d'analyser le corps du message.

S’applique à

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Retourne une valeur qui indique si le message mis en mémoire tampon indiqué respecte le critère de correspondance d'un filtre de la table, et ajoute les filtres correspondants à une collection.

public:
 bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public:
 bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ buffer, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.MessageBuffer messageBuffer, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
public bool GetMatchingFilters (System.ServiceModel.Channels.MessageBuffer buffer, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
abstract member GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
abstract member GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (messageBuffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean
Public Function GetMatchingFilters (buffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean

Paramètres

messageBufferbuffer
MessageBuffer

MessageBuffer à tester.

results
ICollection<MessageFilter>

Paramètre de référence qui stocke les objets MessageFilter qui correspondent dans ICollection<T><Filter>.

Retours

Boolean

true si le critère de correspondance d'au moins un filtre dans la table est respecté par messageBuffer ; false si aucun filtre n'est respecté.

Remarques

Utilisez cette méthode lorsque plusieurs filtres sont supposés correspondre au message mis en mémoire tampon, que le filtre correspondant est requis et que le corps du message peut devoir faire l'objet d'une inspection.

S’applique à