Condividi tramite


MessageFilterTable<TFilterData>.GetMatchingFilters Metodo

Definizione

Restituisce un valore che indica se il criterio di corrispondenza di un oggetto MessageFilter della tabella viene soddisfatto dal messaggio specificato o dal messaggio memorizzato nel buffer e aggiunge i filtri corrispondenti a una raccolta.

Overload

GetMatchingFilters(Message, ICollection<MessageFilter>)

Restituisce un valore che indica se il criterio di corrispondenza di un oggetto MessageFilter 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 almeno un filtro della tabella viene soddisfatto dal messaggio memorizzato nel buffer specificato e aggiunge i filtri corrispondenti dal set di filtri con priorità più elevata nel quale viene trovata almeno una corrispondenza con una raccolta.

Commenti

Utilizzare questo metodo quando si prevede che al messaggio corrisponda più di un filtro e sono necessari i filtri corrispondenti.

GetMatchingFilters(Message, ICollection<MessageFilter>)

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

public:
 virtual 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
override this.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 in cui sono archiviati gli oggetti MessageFilter che corrispondono in ICollection<T><Filtro>.

Restituisce

Boolean

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

Implementazioni

Eccezioni

results è null.

Un filtro ha tentato di esaminare il contenuto del corpo del messaggio.

Commenti

Utilizzare questo metodo quando si prevede che al messaggio corrisponda più di un filtro e sono necessari i filtri corrispondenti.

Questo metodo verifica tutti i filtri corrispondenti presenti nel bucket di filtri con priorità più elevata nel quale si verifica almeno una corrispondenza.

Ai filtri contenuti nella tabella non è consentito controllare il corpo del messaggio.

Gli oggetti MessageFilter corrispondenti vengono memorizzati nel parametro results di ICollection<T>. L'oggetto FilterData potrà quindi essere recuperato dalla tabella dei filtri utilizzando questi filtri come chiavi, tramite i metodi forniti da IDictionary<TKey,TValue>.

Questo metodo implementa GetMatchingFilters.

Si applica a

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Restituisce un valore che indica se il criterio di corrispondenza di almeno un filtro della tabella viene soddisfatto dal messaggio memorizzato nel buffer specificato e aggiunge i filtri corrispondenti dal set di filtri con priorità più elevata nel quale viene trovata almeno una corrispondenza con una raccolta.

public:
 virtual bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ buffer, 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
override this.GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (buffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean

Parametri

buffer
MessageBuffer

Oggetto MessageBuffer da verificare.

results
ICollection<MessageFilter>

Parametro per riferimento in cui sono archiviati gli oggetti MessageFilter che corrispondono in ICollection<T><Filtro>.

Restituisce

Boolean

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

Implementazioni

Eccezioni

results è null.

Commenti

Utilizzare questo metodo quando si prevede che più filtri corrispondano al messaggio memorizzato nel buffer ed è necessario disporre dei filtri corrispondenti.

Ai filtri contenuti nella tabella è consentito controllare il corpo del messaggio.

Gli oggetti MessageFilter corrispondenti vengono memorizzati nel parametro results di ICollection<T>. L'oggetto FilterData potrà quindi essere recuperato dalla tabella dei filtri utilizzando questi filtri come chiavi, tramite i metodi forniti da IDictionary<TKey,TValue>.

Questo metodo implementa GetMatchingFilters.

Si applica a