MessageFilter Klasse

Definition

abstract-Basisklasse für verschiedene Klassen von Filtern, die verwendet werden, um Nachrichten abzufragen.

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
Vererbung
MessageFilter
Abgeleitet
Attribute

Hinweise

MessageFilter ist eine abstract-Klasse, die Entwickler implementieren, um die Kriterien für das Prüfen von Nachrichten anzugeben. In der Regel werden Filter durch eine Endpunktanwendung verwendet, um festzulegen, was mit einer Nachricht auf der Basis einer Prüfung eines bestimmten Teils der Nachricht geschehen soll. Ein Warteschlangenprozess kann beispielsweise eine XPath 1.0-Abfrage verwenden, um das Prioritätselement eines bekannten Headers im Hinblick darauf zu prüfen, ob eine Nachricht in der Warteschlange an den Anfang verschoben werden soll.

Filter werden in einer Filtertabelle gespeichert, die IMessageFilterTable<TFilterData> implementiert. Jeder Filter in der Tabelle wird angegebenen Filterdaten zugeordnet, die verwendet werden können, um die Aktionen festzulegen, die vorgenommen werden, wenn eine Nachricht mit dem Filter übereinstimmt. Mit den Match-Methoden wird ermittelt, ob eine Nachricht zu einem Filter passt.

Die von einem Filter verwendeten Kriterien können nach der Konstruktion des Filters nicht mehr geändert werden, da die Filtertabellen keine Möglichkeit haben, eine Änderung zu erkennen. Die einzige Möglichkeit, die Kriterien eines Filters zu ändern, besteht darin, einen neuen Filter zu konstruieren und den vorhandenen Filter zu löschen.

Die folgenden Klassen implementieren die abstract MessageFilter Klasse:

ChannelListenerBase<TChannel> ist eine abstract-Basisklasse, die Sie verwenden können, um Listener ohne Warteschlagen zu schreiben.

Konstruktoren

MessageFilter()

Initialisiert beim Aufruf in einer abgeleiteten Klasse eine neue Instanz der MessageFilter-Klasse.

Methoden

CreateFilterTable<FilterData>()

Erstellt eine Filtertabelle für einen Filter, der einen angegebenen Typ von ihm zugeordneten Daten hat.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
Match(Message)

Wenn dies in einer abgeleiteten Klasse überschrieben wird, wird getestet, ob eine Nachricht die Filterkriterien erfüllt. Der Text kann nicht überprüft werden.

Match(MessageBuffer)

Wenn dies in einer abgeleiteten Klasse überschrieben wird, wird getestet, ob eine gepufferte Nachricht die Kriterien eines Filters erfüllt.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für