Compartilhar via


MessageFilter Classe

Definição

abstract classe base para diferentes classes de filtros usadas 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 classe abstract 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 implementa IMessageFilterTable<TFilterData>. Cada filtro na tabela é associado a dados de filtro especificados que podem ser usados para indicar quais ações executar se uma mensagem corresponder ao filtro. Os métodos Match 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 classe abstractMessageFilter:

ChannelListenerBase<TChannel> é uma classe base abstract 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 especificado de dados associados a ela.

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 um filtro.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a