MessageFilter Classe

Definição

abstract Classe base para diferentes classes de filtros usados 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

Observações

MessageFilter é uma abstract classe que os desenvolvedores implementam para especificar os critérios a utilizar na inspeção de mensagens. Normalmente, filtros são usados por uma aplicação endpoint para determinar o que fazer com uma mensagem com base na análise 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 numa tabela de filtros que implementa IMessageFilterTable<TFilterData>. Cada filtro na tabela está associado a dados de filtro especificados que podem ser usados para indicar que ações tomar caso uma mensagem corresponda 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 uma vez construído porque as tabelas de filtro não têm forma de detetar uma alteração. A única forma de modificar os critérios de um filtro é construir um novo e eliminar o filtro existente.

As seguintes classes implementam a abstractMessageFilter classe:

ChannelListenerBase<TChannel> é uma abstract classe base que podes usar para escrever ouvintes que não estão em fila.

Construtores

Name Description
MessageFilter()

Quando chamada numa classe derivada, inicializa uma nova instância da MessageFilter classe.

Métodos

Name Description
CreateFilterTable<FilterData>()

Cria uma tabela de filtros para um filtro que tem um tipo específico de dados associado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

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

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a