Partilhar via


IMessageFilterTable<TFilterData>.GetMatchingFilters Método

Definição

Adiciona a uma coleção os filtros cujos critérios de consulta são atendidos por uma mensagem especificada ou uma mensagem armazenada em buffer.

Sobrecargas

GetMatchingFilters(Message, ICollection<MessageFilter>)

Retorna um valor que indica se o critério de correspondência de um filtro na tabela é atendido pela mensagem especificada e adiciona os filtros correspondentes a uma coleção.

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Retorna um valor que indica se o critério de correspondência de um filtro na tabela é atendido pela mensagem armazenada em buffer especificada e adiciona os filtros correspondentes a uma coleção.

Comentários

Use um desses métodos quando for esperado que mais de um filtro corresponda à mensagem e os filtros de correspondência sejam necessários. Observe que a coleção que contém os filtros não é limpa antes de os resultados serem adicionados. Isso permite que você acumule todas as correspondências em várias tabelas de filtro em uma única coleção.

Se o corpo da mensagem precisar ser inspecionado por um filtro na tabela de filtros, buffere a mensagem e passe-a para o GetMatchingFilters método. Caso contrário, use GetMatchingFilters.

Os MessageFilter objetos correspondentes são armazenados no results parâmetro. Os dados de filtro podem então ser recuperados da tabela de filtros usando esses filtros como chaves com os métodos fornecidos pelo IDictionary<TKey,TValue> .

GetMatchingFilters(Message, ICollection<MessageFilter>)

Retorna um valor que indica se o critério de correspondência de um filtro na tabela é atendido pela mensagem especificada e adiciona os filtros correspondentes a uma coleção.

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

Parâmetros

message
Message

O Message a ser testado.

results
ICollection<MessageFilter>

Parâmetro de referência que armazena os objetos MessageFilter que correspondem no ICollection<T><Filtro>.

Retornos

Boolean

true se o critério de correspondência de pelo menos um filtro na tabela for atendido por message; false se nenhum filtro for atendido.

Comentários

Use esse método quando for esperado que mais de um filtro corresponda à mensagem, os filtros de correspondência serão necessários e o corpo da mensagem não precisará ser inspecionado.

Notas aos Implementadores

Essa versão leva um Message e deve lançar um InvalidBodyAccessException se tentar examinar o corpo da mensagem.

Aplica-se a

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Retorna um valor que indica se o critério de correspondência de um filtro na tabela é atendido pela mensagem armazenada em buffer especificada e adiciona os filtros correspondentes a uma coleção.

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

Parâmetros

messageBufferbuffer
MessageBuffer

O MessageBuffer a ser testado.

results
ICollection<MessageFilter>

Parâmetro de referência que armazena os objetos MessageFilter que correspondem no ICollection<T><Filtro>.

Retornos

Boolean

true se o critério de correspondência de pelo menos um filtro na tabela for atendido por messageBuffer; false se nenhum filtro for atendido.

Comentários

Use esse método quando for esperado que mais de um filtro corresponda à mensagem armazenada em buffer, o filtro de correspondência é necessário e o corpo da mensagem pode ter que ser inspecionado.

Aplica-se a