MessageFilter.Match Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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.