MessageFilter.Match Método

Definição

Quando sobreposta numa classe derivada, testa se uma mensagem ou uma mensagem em buffer satisfaz os critérios de um filtro.

Sobrecargas

Name Description
Match(Message)

Quando sobreposta numa classe derivada, testa se uma mensagem satisfaz os critérios do filtro. O corpo não pode ser examinado.

Match(MessageBuffer)

Quando sobreposta numa classe derivada, testa se uma mensagem em buffer satisfaz os critérios de um filtro.

Observações

A diferença entre as duas sobrecargas é que uma delas toma um Message parâmetro e não é permitido examinar o corpo. O outro utiliza um MessageBuffer parâmetro e pode examinar qualquer parte da mensagem. Os cabeçalhos das mensagens são automaticamente armazenados em buffer e podem ser inspecionados por um filtro sem serem consumidos. Mas se o corpo for inspecionado por um filtro, então toda a mensagem deve ser armazenada em buffer, pois o corpo da mensagem não armazenado pode ser consumido por uma consulta e o seu conteúdo destruído.

Use Match se não for necessário exame do corpo. Use Match se for necessário examinar o corpo da mensagem.

Match(Message)

Origem:
MessageFilter.cs
Origem:
MessageFilter.cs
Origem:
MessageFilter.cs

Quando sobreposta numa classe derivada, testa se uma mensagem satisfaz os critérios do filtro. O corpo não pode ser examinado.

public:
 abstract bool Match(System::ServiceModel::Channels::Message ^ message);
public abstract bool Match(System.ServiceModel.Channels.Message message);
abstract member Match : System.ServiceModel.Channels.Message -> bool
Public MustOverride Function Match (message As Message) As Boolean

Parâmetros

message
Message

O Message objeto a testar.

Devoluções

true se o Message objeto satisfaz os critérios do filtro; caso contrário, false.

Observações

Este método não pode inspecionar o conteúdo do corpo da mensagem.

Notas para Implementadores

Se o filtro tentar examinar o corpo de uma mensagem sem buffer, então o filtro deve lançar um InvalidBodyAccessException. Não deve voltar false.

Aplica-se a

Match(MessageBuffer)

Origem:
MessageFilter.cs
Origem:
MessageFilter.cs
Origem:
MessageFilter.cs

Quando sobreposta numa classe derivada, testa se uma mensagem em buffer satisfaz os critérios de um filtro.

public:
 abstract bool Match(System::ServiceModel::Channels::MessageBuffer ^ buffer);
public abstract bool Match(System.ServiceModel.Channels.MessageBuffer buffer);
abstract member Match : System.ServiceModel.Channels.MessageBuffer -> bool
Public MustOverride Function Match (buffer As MessageBuffer) As Boolean

Parâmetros

buffer
MessageBuffer

O MessageBuffer objeto a testar.

Devoluções

true se o MessageBuffer objeto satisfaz os critérios do filtro; caso contrário, false.

Observações

A mensagem deve estar totalmente em buffer se o corpo for inspecionado pelo filtro. O corpo do MessageBuffer está totalmente tampão e, por isso, pode ser inspecionado por um filtro. O corpo de um Message que não foi totalmente tamponado pode ser consumido pela inspeção do filtro. O elemento de cabeçalho de um Message é automaticamente armazenado em buffer e, por isso, pode ser inspecionado sem ser consumido.

Aplica-se a