Partilhar via


IMessageFilterTable<TFilterData>.GetMatchingValue Método

Definição

Retorna um valor que indica se o critério de correspondência de um filtro na tabela é atendido pela mensagem especificada ou pela mensagem armazenada em buffer e retorna os dados do filtro correspondente.

Sobrecargas

GetMatchingValue(Message, TFilterData)

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

GetMatchingValue(MessageBuffer, TFilterData)

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

Comentários

Use um desses métodos quando, no máximo, espera-se que um filtro corresponda à mensagem e apenas os dados de filtro do filtro correspondente devem ser recuperados. Esses métodos retornam um booliano que indica se um filtro correspondente foi encontrado e definem o data parâmetro de referência para os dados de filtro correspondentes.

Use GetMatchingFilter se o corpo da mensagem não for inspecionado por nenhum dos filtros na tabela de filtros.

Se o corpo da mensagem puder ser inspecionado por um filtro na tabela de filtros, armague a mensagem em buffer e passe-a para a GetMatchingFilter versão do método .

GetMatchingValue(Message, TFilterData)

Origem:
IMessageFilterTable.cs
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 adiciona os dados do filtro correspondente a uma coleção.

public:
 bool GetMatchingValue(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.Message message, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.Message * 'FilterData -> bool
Public Function GetMatchingValue (message As Message, ByRef value As TFilterData) As Boolean

Parâmetros

message
Message

O Message a ser testado.

value
TFilterData

out que armazena o FilterData que corresponde ao message.

Retornos

true se o critério de correspondência de exatamente um filtro na tabela for atendido pela mensagem; false se nenhum filtro for atendido.

Comentários

Use esse método quando se espera que um único filtro corresponda à mensagem e apenas os dados de filtro do filtro correspondente devem ser recuperados.

Esse método espera, no máximo, um único filtro correspondente. Se mais de um filtro corresponder, um MultipleFilterMatchesException deverá ser gerado.

Se o corpo da mensagem precisar ser inspecionado por um filtro na tabela de filtros, armague o buffer da mensagem usando CreateBufferedCopy e passe-a para a GetMatchingValue versão do método .

Notas aos Implementadores

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

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

Aplica-se a

GetMatchingValue(MessageBuffer, TFilterData)

Origem:
IMessageFilterTable.cs
Origem:
IMessageFilterTable.cs

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

public:
 bool GetMatchingValue(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.MessageBuffer messageBuffer, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.MessageBuffer * 'FilterData -> bool
Public Function GetMatchingValue (messageBuffer As MessageBuffer, ByRef value As TFilterData) As Boolean

Parâmetros

messageBuffer
MessageBuffer

O MessageBuffer a ser testado.

value
TFilterData

out que armazena o FilterData que corresponde ao messageBuffer.

Retornos

true se o critério de correspondência de exatamente um filtro na tabela for atendido pela mensagem; false se nenhum filtro for atendido.

Comentários

Use esse método quando se espera que um único filtro corresponda à mensagem armazenada em buffer, somente os dados de filtro do filtro correspondente devem ser recuperados e o corpo da mensagem pode ter que ser inspecionado.

Notas aos Implementadores

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

Aplica-se a