Compartilhar via


IMessageFilterTable<TFilterData>.GetMatchingFilter Método

Definição

Retorna um filtro da tabela cujos critérios de consulta são atendidos por uma mensagem especificada ou uma mensagem armazenada em buffer.

Sobrecargas

GetMatchingFilter(Message, MessageFilter)

Retorna um valor que indica se o critério de correspondência de exatamente um filtro na tabela é atendido pela mensagem especificada e retorna esse filtro em um parâmetro out.

GetMatchingFilter(MessageBuffer, MessageFilter)

Retorna um valor que indica se o critério de correspondência de exatamente um filtro na tabela é atendido pela mensagem especificada ou pela mensagem armazenada em buffer e retorna esse filtro em um parâmetro out.

Comentários

Use esse método quando um único filtro corresponder à mensagem e o filtro correspondente for necessário.

Use GetMatchingFilter se o conteúdo do corpo não exigir exame. Use GetMatchingFilter se o conteúdo do corpo da mensagem puder exigir exame.

GetMatchingFilter(Message, MessageFilter)

Origem:
IMessageFilterTable.cs

Retorna um valor que indica se o critério de correspondência de exatamente um filtro na tabela é atendido pela mensagem especificada e retorna esse filtro em um parâmetro out.

public:
 bool GetMatchingFilter(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] System::ServiceModel::Dispatcher::MessageFilter ^ % filter);
public bool GetMatchingFilter (System.ServiceModel.Channels.Message message, out System.ServiceModel.Dispatcher.MessageFilter filter);
abstract member GetMatchingFilter : System.ServiceModel.Channels.Message * MessageFilter -> bool
Public Function GetMatchingFilter (message As Message, ByRef filter As MessageFilter) As Boolean

Parâmetros

message
Message

O Message a ser testado.

filter
MessageFilter

Parâmetro out que armazena o filtro que é atendido pela message. Se não for encontrado nenhum filtro, o parâmetro será definido como seu valor padrão.

Retornos

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 um único filtro corresponder à mensagem e o filtro correspondente for necessário.

Se o corpo da mensagem precisar ser inspecionado por um filtro na tabela de filtros, use a GetMatchingFilter versão do método .

Notas aos Implementadores

Se mais de um filtro corresponder à mensagem, um MultipleFilterMatchesException deverá ser gerado.

Essa versão usa um Message e deve gerar um InvalidBodyAccessException se tentar examinar o corpo da mensagem.

Aplica-se a

GetMatchingFilter(MessageBuffer, MessageFilter)

Origem:
IMessageFilterTable.cs

Retorna um valor que indica se o critério de correspondência de exatamente um filtro na tabela é atendido pela mensagem especificada ou pela mensagem armazenada em buffer e retorna esse filtro em um parâmetro out.

public:
 bool GetMatchingFilter(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, [Runtime::InteropServices::Out] System::ServiceModel::Dispatcher::MessageFilter ^ % filter);
public bool GetMatchingFilter (System.ServiceModel.Channels.MessageBuffer messageBuffer, out System.ServiceModel.Dispatcher.MessageFilter filter);
abstract member GetMatchingFilter : System.ServiceModel.Channels.MessageBuffer * MessageFilter -> bool
Public Function GetMatchingFilter (messageBuffer As MessageBuffer, ByRef filter As MessageFilter) As Boolean

Parâmetros

messageBuffer
MessageBuffer

O MessageBuffer a ser testado.

filter
MessageFilter

Parâmetro out que armazena o filtro que é atendido pela message. Se não for encontrado nenhum filtro, o parâmetro será definido como seu valor padrão.

Retornos

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 se espera que um único filtro corresponda à mensagem em buffer, o filtro correspondente deve ser retornado e o corpo da mensagem pode precisar ser inspecionado.

Aplica-se a