MessageFilter Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
abstract
Basisklasse für verschiedene Klassen von Filtern, die zum Abfragen von Nachrichten verwendet werden.
public ref class MessageFilter abstract
[System.Runtime.Serialization.DataContract]
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))]
public abstract class MessageFilter
[<System.Runtime.Serialization.DataContract>]
type MessageFilter = class
[<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 anzugeben, die zum Überprüfen von Nachrichten verwendet werden sollen. In der Regel werden Filter von einer Endpunktanwendung verwendet, um zu bestimmen, was mit einer Nachricht auf der Grundlage einer Untersuchung eines Teils der Nachricht zu tun ist. Ein Warteschlangenprozess kann z. B. eine XPath 1.0-Abfrage verwenden, um das Prioritätselement eines bekannten Headers zu überprüfen, um zu bestimmen, ob eine Nachricht an die Vorderseite der Warteschlange verschoben werden soll.
Filter werden in einer Filtertabelle gespeichert, die IMessageFilterTable<TFilterData>implementiert. Jeder Filter in der Tabelle ist angegebenen Filterdaten zugeordnet, die verwendet werden können, um anzugeben, welche Aktionen ausgeführt werden sollen, wenn eine Nachricht mit dem Filter übereinstimmt. Die Match Methoden werden verwendet, um zu bestimmen, ob eine Nachricht einem Filter entspricht.
Die von einem Filter verwendeten Kriterien können nicht geändert werden, nachdem der Filter erstellt wurde, da die Filtertabellen keine Möglichkeit haben, eine Änderung zu erkennen. Die einzige Möglichkeit zum Ändern der Kriterien eines Filters besteht darin, einen neuen zu erstellen und den vorhandenen Filter zu löschen.
Die folgenden Klassen implementieren die abstract
MessageFilter Klasse:
XPathMessageFilter verwendet einen XPath 1.0-Ausdruck, um die Kriterien für eine Übereinstimmung anzugeben.
MatchAllMessageFilter entspricht allen Nachrichten.
MatchNoneMessageFilter entspricht keiner der Nachrichten.
ActionMessageFilter testet, ob die Aktion einer Nachricht eine der angegebenen Aktionen ist.
EndpointAddressMessageFilter testet, ob eine Nachricht eine angegebene Endpunktadresse erfüllt.
ChannelListenerBase<TChannel> ist eine abstract
Basisklasse, die Sie zum Schreiben von Listenern ohne Warteschlange verwenden können.
Konstruktoren
MessageFilter() |
Wenn sie in einer abgeleiteten Klasse aufgerufen wird, initialisiert sie eine neue Instanz der MessageFilter Klasse. |
Methoden
CreateFilterTable<FilterData>() |
Erstellt eine Filtertabelle für einen Filter, der einen bestimmten Datentyp zugeordnet hat. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
Match(Message) |
Wenn sie in einer abgeleiteten Klasse überschrieben werden, wird überprüft, ob eine Nachricht die Filterkriterien erfüllt. Der Körper kann nicht untersucht werden. |
Match(MessageBuffer) |
Wenn sie in einer abgeleiteten Klasse überschrieben werden, überprüft, ob eine gepufferte Nachricht die Kriterien eines Filters erfüllt. |
MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |