Condividi tramite


IMessageFilterTable<TFilterData>.GetMatchingFilters Metodo

Definizione

Aggiunge i filtri i cui criteri della query sono soddisfatti da un messaggio specificato o da un messaggio memorizzato nel buffer a una raccolta.

Overload

GetMatchingFilters(Message, ICollection<MessageFilter>)

Restituisce un valore che indica se il criterio di corrispondenza di un filtro della tabella viene soddisfatto dal messaggio specificato e aggiunge i filtri corrispondenti alla raccolta.

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Restituisce un valore che indica se il criterio di corrispondenza di un filtro della tabella viene soddisfatto dal messaggio memorizzato nel buffer e aggiunge i filtri corrispondenti alla raccolta.

Commenti

Utilizzare uno di questi metodi quando si prevede che più filtri corrispondano al messaggio e occorre disporre dei filtri corrispondenti. Si noti che la raccolta che contiene i filtri non viene cancellata prima che vengano aggiunti i risultati. Consente di accumulare tutte le corrispondenze presenti in più tabelle dei filtri in una sola raccolta.

Se il corpo del messaggio deve essere controllato da un filtro della tabella dei filtri, memorizzare il messaggio nel buffer e passarlo al metodo GetMatchingFilters. In caso contrario, usare GetMatchingFilters.

Gli oggetti MessageFilter corrispondenti vengono memorizzati nel parametro results. I dati filtro possono quindi essere recuperati dalla tabella dei filtri utilizzando questi filtri come chiavi, tramite i metodi forniti da IDictionary<TKey,TValue>.

GetMatchingFilters(Message, ICollection<MessageFilter>)

Restituisce un valore che indica se il criterio di corrispondenza di un filtro della tabella viene soddisfatto dal messaggio specificato e aggiunge i filtri corrispondenti alla raccolta.

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

Parametri

message
Message

Oggetto Message da verificare.

results
ICollection<MessageFilter>

Parametro per riferimento che memorizza gli oggetti MessageFilter che corrispondono in ICollection<T><Filter>.

Restituisce

Boolean

true se il criterio di corrispondenza di almeno un filtro nella tabella è soddisfatto da message; false se nessun filtro è soddisfatto.

Commenti

Utilizzare questo metodo quando si prevede che più di un filtro corrisponda al messaggio, è necessario disporre dei filtri corrispondenti e non è necessario controllare il corpo del messaggio.

Note per gli implementatori

Questa versione accetta un oggetto Message e deve generare un'eccezione InvalidBodyAccessException se tenta di esaminare il corpo del messaggio.

Si applica a

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Restituisce un valore che indica se il criterio di corrispondenza di un filtro della tabella viene soddisfatto dal messaggio memorizzato nel buffer e aggiunge i filtri corrispondenti alla raccolta.

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

Parametri

messageBufferbuffer
MessageBuffer

Oggetto MessageBuffer da verificare.

results
ICollection<MessageFilter>

Parametro per riferimento che memorizza gli oggetti MessageFilter che corrispondono in ICollection<T><Filter>.

Restituisce

Boolean

true se il criterio di corrispondenza di almeno un filtro nella tabella è soddisfatto da messageBuffer; false se nessun filtro è soddisfatto.

Commenti

Utilizzare questo metodo quando si prevede che più di un filtro corrisponda al messaggio memorizzato nel buffer, è necessario disporre del filtro corrispondente ed è necessario controllare il corpo del messaggio.

Si applica a