MessageFilter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 abstract classe 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ò utilizzare una query XPath 1.0 per controllare l'elemento di priorità di un'intestazione conosciuta e 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 Match metodi 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 abstractMessageFilter classe :
XPathMessageFilter usa un'espressione XPath 1.0 per specificare i criteri per una corrispondenza.
MatchAllMessageFilter corrisponde a tutti i messaggi.
MatchNoneMessageFilter corrisponde a nessuno dei messaggi.
ActionMessageFilter verifica se l'azione di un messaggio è uno di un set specificato di azioni.
EndpointAddressMessageFilter verifica se un messaggio soddisfa un indirizzo endpoint specificato.
ChannelListenerBase<TChannel> è una abstract classe di base che è possibile usare per la scrittura di listener non di accodamento.
Costruttori
| Nome | Descrizione |
|---|---|
| MessageFilter() |
Quando viene chiamato in una classe derivata, inizializza una nuova istanza della MessageFilter classe . |
Metodi
| Nome | Descrizione |
|---|---|
| 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) |