Condividi tramite


MessageFilter Classe

Definizione

abstract classe base per classi diverse di filtri usati per eseguire query sui messaggi.

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
Ereditarietà
MessageFilter
Derivato
Attributi

Commenti

MessageFilter è una classe abstract implementata dagli sviluppatori per specificare i criteri da usare per l'ispezione dei messaggi. In genere, i filtri vengono usati da un'applicazione endpoint per determinare cosa fare con un messaggio in base a un esame di parte del messaggio. Un processo di accodamento, ad esempio, può usare una query XPath 1.0 per controllare l'elemento priority di un'intestazione nota per determinare se spostare un messaggio all'inizio della coda.

I filtri vengono archiviati in una tabella di filtri che implementa IMessageFilterTable<TFilterData>. Ogni filtro nella tabella è associato ai dati di filtro specificati che possono essere utilizzati per indicare quali azioni eseguire se un messaggio corrisponde al filtro. I metodi Match vengono utilizzati per determinare se un messaggio soddisfa un filtro.

I criteri utilizzati da un filtro non possono essere modificati dopo la costruzione del filtro perché le tabelle di filtro non possono rilevare una modifica. L'unico modo per modificare i criteri di un filtro consiste nel crearne uno nuovo ed eliminare il filtro esistente.

Le classi seguenti implementano la classe abstractMessageFilter:

ChannelListenerBase<TChannel> è una classe di base abstract che è possibile usare per la scrittura di listener non di accodamento.

Costruttori

MessageFilter()

Quando viene chiamato in una classe derivata, inizializza una nuova istanza della classe MessageFilter.

Metodi

CreateFilterTable<FilterData>()

Crea una tabella di filtro per un filtro con un tipo di dati specificato associato.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
Match(Message)

In caso di override in una classe derivata, verifica se un messaggio soddisfa i criteri di filtro. Il corpo non può essere esaminato.

Match(MessageBuffer)

In caso di override in una classe derivata, verifica se un messaggio memorizzato nel buffer soddisfa i criteri di un filtro.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a