MessageFilter.Match Método

Definição

Quando substituído em uma classe derivada, testa se uma mensagem ou uma mensagem em buffer atende aos critérios de filtro.When overridden in a derived class, tests whether a message or a buffered message satisfies the criteria of a filter.

Sobrecargas

Match(Message)

Quando substituído em uma classe derivada, testa se uma mensagem atende aos critérios de filtro.When overridden in a derived class, tests whether a message satisfies the filter criteria. O corpo não pode ser examinado.The body cannot be examined.

Match(MessageBuffer)

Quando substituído em uma classe derivada, testa se uma mensagem em buffer atende aos critérios de filtro.When overridden in a derived class, tests whether a buffered message satisfies the criteria of a filter.

Comentários

A diferença entre as duas sobrecargas é que uma usa um Message parâmetro e não tem permissão para examinar o corpo.The difference between the two overloads is that one takes a Message parameter and is not permitted to examine the body. O outro usa um MessageBuffer parâmetro e pode examinar qualquer parte da mensagem.The other takes a MessageBuffer parameter and can examine any part of the message. Os cabeçalhos de mensagem são armazenados em buffer automaticamente e podem ser inspecionados por um filtro sem serem consumidos.Message headers are automatically buffered and can be inspected by a filter without being consumed. Mas se o corpo for inspecionado por um filtro, a mensagem inteira deverá ser armazenada em buffer porque um corpo de mensagem não armazenado em buffer pode ser consumido por uma consulta e seu conteúdo destruído.But if the body is to be inspected by a filter, then the entire message must be buffered because an unbuffered message body can be consumed by a query and its contents destroyed.

Use Match se o exame do corpo não for necessário.Use Match if examination of the body is not required. Use Match se o exame do corpo da mensagem for necessário.Use Match if examination of the message body is required.

Match(Message)

Quando substituído em uma classe derivada, testa se uma mensagem atende aos critérios de filtro.When overridden in a derived class, tests whether a message satisfies the filter criteria. O corpo não pode ser examinado.The body cannot be examined.

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

Parâmetros

message
Message

O objeto Message a ser testado.The Message object to test.

Retornos

true se o objeto Message atender aos critérios de filtro; caso contrário, false.true if the Message object satisfies the filter criteria; otherwise, false.

Comentários

Esse método não pode inspecionar o conteúdo do corpo da mensagem.This method cannot inspect the contents of the message body.

Notas aos Implementadores

Se o filtro tentar examinar o corpo de uma mensagem sem buffer, o filtro deverá lançar um InvalidBodyAccessException.If the filter attempts to examine the body of an unbuffered message, then the filter must throw an InvalidBodyAccessException. Ele não deve retornar false.It should not return false.

Match(MessageBuffer)

Quando substituído em uma classe derivada, testa se uma mensagem em buffer atende aos critérios de filtro.When overridden in a derived class, tests whether a buffered message satisfies the criteria of a filter.

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 objeto MessageBuffer a ser testado.The MessageBuffer object to test.

Retornos

true se o objeto MessageBuffer atender aos critérios de filtro; caso contrário, false.true if the MessageBuffer object satisfies the filter criteria; otherwise, false.

Comentários

A mensagem deverá ser totalmente armazenada em buffer se o corpo for para ser inspecionado pelo filtro.The message must be fully buffered if the body is to be inspected by the filter. O corpo do MessageBuffer é totalmente armazenado em buffer e, portanto, pode ser inspecionado por um filtro.The body of the MessageBuffer is fully buffered and therefore can be inspected by a filter. O corpo de um Message que não foi totalmente armazenado em buffer pode ser consumido pela inspeção do filtro.The body of a Message that has not been fully buffered may be consumed by the filter inspection. O elemento de cabeçalho de Message um é armazenado em buffer automaticamente e, portanto, pode ser inspecionado sem ser consumido.The header element of a Message is automatically buffered and therefore can be inspected without being consumed.

Aplica-se a