MessageFilter Classe

Definizione

Classe abstract di base per classi di filtri diverse utilizzate 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 che gli sviluppatori implementano per specificare i criteri da utilizzare per il controllo di messaggi. In genere, i filtri vengono utilizzati da un'applicazione dell'endpoint per determinare come comportarsi con un messaggio basato sull'attività di esame di una parte del messaggio. Un processo di accodamento, ad esempio, può utilizzare una query XPath 1.0 per controllare l'elemento prioritario di un'intestazione nota e determinare se spostare un messaggio all'inizio della coda.

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

Non è possibile modificare i criteri utilizzati da un filtro una volta costruito il filtro perché le tabelle dei filtri non sono in grado di rilevare modifiche. L'unico modo di modificare i criteri di un filtro è di costruirne un nuovo e di eliminare il filtro esistente.

Le classi seguenti implementano la abstract MessageFilter classe:

ChannelListenerBase<TChannel> è una classe di base abstract da utilizzare per scrivere listener senza accodamento.

Costruttori

MessageFilter()

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

Metodi

CreateFilterTable<FilterData>()

Crea una tabella dei filtri per un filtro a cui è associato un tipo di dati specificato.

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 l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
Match(Message)

Quando sottoposto a override in una classe derivata, controlla se un messaggio soddisfa i criteri di un filtro dell'endpoint. Non è possibile esaminare il corpo.

Match(MessageBuffer)

Quando sottoposto a override in una classe derivata, controlla se un messaggio memorizzato nel buffer soddisfa i criteri di un filtro dell'endpoint.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a