MessageFilter.Match Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Quando substituído em uma classe derivada, testa se uma mensagem ou uma mensagem em buffer atende aos critérios de um filtro.
Sobrecargas
| Nome | Description |
|---|---|
| Match(Message) |
Quando substituído em uma classe derivada, testa se uma mensagem atende aos critérios de filtro. O corpo não pode ser examinado. |
| Match(MessageBuffer) |
Quando substituído em uma classe derivada, testa se uma mensagem em buffer atende aos critérios de um filtro. |
Comentários
A diferença entre as duas sobrecargas é que um usa um Message parâmetro e não tem permissão para examinar o corpo. O outro usa um MessageBuffer parâmetro e pode examinar qualquer parte da mensagem. Os cabeçalhos de mensagem são armazenados em buffer automaticamente e podem ser inspecionados por um filtro sem serem consumidos. No entanto, se o corpo deve ser inspecionado por um filtro, a mensagem inteira deve ser armazenada em buffer porque um corpo de mensagem não armazenado pode ser consumido por uma consulta e seu conteúdo é destruído.
Use Match se o exame do corpo não for necessário. Use Match se o exame do corpo da mensagem for necessário.
Match(Message)
- Origem:
- MessageFilter.cs
- Origem:
- MessageFilter.cs
- Origem:
- MessageFilter.cs
Quando substituído em uma classe derivada, testa se uma mensagem atende aos critérios de 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
Retornos
true se o Message objeto atender aos critérios de filtro; caso contrário, false.
Comentários
Esse método não pode inspecionar o conteúdo do corpo da mensagem.
Notas aos Implementadores
Se o filtro tentar examinar o corpo de uma mensagem não armazenada, o filtro deverá gerar um InvalidBodyAccessException. Ele não deve retornar false.
Aplica-se a
Match(MessageBuffer)
- Origem:
- MessageFilter.cs
- Origem:
- MessageFilter.cs
- Origem:
- MessageFilter.cs
Quando substituído em uma classe derivada, testa se uma mensagem em buffer atende aos 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 ser testado.
Retornos
true se o MessageBuffer objeto atender aos critérios de filtro; caso contrário, false.
Comentários
A mensagem deverá ser totalmente armazenada em buffer se o corpo deve ser inspecionado pelo filtro. O corpo do MessageBuffer é totalmente armazenado em buffer e, portanto, pode ser inspecionado por um filtro. O corpo de um Message que não foi totalmente armazenado em buffer pode ser consumido pela inspeção de filtro. O elemento de cabeçalho de um Message é automaticamente armazenado em buffer e, portanto, pode ser inspecionado sem ser consumido.