Compartilhar via


MessageFilter Classe

Definição

Classe base abstract para diferentes classes de filtros, usada para consultar mensagens.

public ref class MessageFilter abstract
[System.Runtime.Serialization.DataContract]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.ActionMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.XPathMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchAllMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchNoneMessageFilter))]
public abstract class MessageFilter
[<System.Runtime.Serialization.DataContract>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.ActionMessageFilter))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.XPathMessageFilter))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchAllMessageFilter))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchNoneMessageFilter))>]
type MessageFilter = class
Public MustInherit Class MessageFilter
Herança
MessageFilter
Derivado
Atributos

Comentários

MessageFilter é uma abstract classe que os desenvolvedores implementam para especificar os critérios a serem usados para inspecionar mensagens. Normalmente, os filtros são usados por um aplicativo de ponto de extremidade para determinar o que fazer com uma mensagem com base em um exame de alguma parte da mensagem. Um processo de enfileiramento, por exemplo, pode usar uma consulta XPath 1.0 para verificar o elemento de prioridade de um cabeçalho conhecido para determinar se uma mensagem deve ser movida para a frente da fila.

Os filtros são armazenados em uma tabela de filtro que IMessageFilterTable<TFilterData>implementa . Cada filtro na tabela está associado aos dados de filtro especificados que podem ser usados para indicar quais ações executar se uma mensagem corresponder ao filtro. Os Match métodos são usados para determinar se uma mensagem satisfaz um filtro.

Os critérios usados por um filtro não podem ser alterados depois que o filtro é construído porque as tabelas de filtro não têm como detectar uma alteração. A única maneira de modificar os critérios de um filtro é construir um novo e excluir o filtro existente.

As seguintes classes implementam a abstract MessageFilter classe:

ChannelListenerBase<TChannel> é uma abstract classe base que você pode usar para escrever ouvintes que não estão na fila.

Construtores

MessageFilter()

Quando chamado em uma classe derivada, inicializa uma nova instância da classe MessageFilter.

Métodos

CreateFilterTable<FilterData>()

Cria uma tabela de filtro para um filtro que tem um tipo de dado especificado associado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
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 filtro.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a