MessageFilter Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
abstract
klasa bazowa dla różnych klas filtrów używanych do wykonywania zapytań o komunikaty.
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
- Dziedziczenie
-
MessageFilter
- Pochodne
- Atrybuty
Uwagi
MessageFilter jest klasą abstract
, którą deweloperzy implementują w celu określenia kryteriów do użycia do sprawdzania komunikatów. Zazwyczaj filtry są używane przez aplikację punktu końcowego do określenia, co zrobić z komunikatem na podstawie badania części komunikatu. Na przykład proces kolejkowania może użyć zapytania XPath 1.0, aby sprawdzić element priorytetu znanego nagłówka, aby określić, czy przenieść komunikat do przodu kolejki.
Filtry są przechowywane w tabeli filtrów, która implementuje IMessageFilterTable<TFilterData>element . Każdy filtr w tabeli jest skojarzony z określonymi danymi filtru, których można użyć do wskazania, jakie akcje należy wykonać, jeśli komunikat jest zgodny z filtrem. Metody Match są używane do określenia, czy komunikat spełnia filtr.
Nie można zmienić kryteriów używanych przez filtr po utworzeniu filtru, ponieważ tabele filtrów nie mogą wykryć zmiany. Jedynym sposobem modyfikowania kryteriów filtru jest skonstruowanie nowego filtru i usunięcie istniejącego filtru.
Następujące klasy implementują klasę abstract
MessageFilter :
XPathMessageFilter używa wyrażenia XPath 1.0, aby określić kryteria dopasowania.
MatchAllMessageFilter pasuje do wszystkich komunikatów.
MatchNoneMessageFilter nie pasuje do żadnego z komunikatów.
ActionMessageFilter sprawdza, czy akcja komunikatu jest jednym z określonego zestawu akcji.
EndpointAddressMessageFilter sprawdza, czy komunikat spełnia określony adres punktu końcowego.
ChannelListenerBase<TChannel> jest klasą bazową abstract
, której można użyć do pisania odbiorników innych niż kolejkowanie.
Konstruktory
MessageFilter() |
Po wywołaniu w klasie pochodnej inicjuje nowe wystąpienie MessageFilter klasy. |
Metody
CreateFilterTable<FilterData>() |
Tworzy tabelę filtru dla filtru, który ma skojarzony z nim określony typ danych. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
Match(Message) |
Po przesłonięciu w klasie pochodnej sprawdza, czy komunikat spełnia kryteria filtrowania. Nie można zbadać ciała. |
Match(MessageBuffer) |
Po przesłonięciu w klasie pochodnej sprawdza, czy komunikat buforowany spełnia kryteria filtru. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |