Udostępnij za pośrednictwem


MessageFilter Klasa

Definicja

abstract klasę bazową 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 na potrzeby inspekcji 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>. Każdy filtr w tabeli jest skojarzony z określonymi danymi filtru, których można użyć, aby wskazać, jakie akcje należy wykonać, jeśli komunikat jest zgodny z filtrem. Metody Match służą do określania, czy komunikat spełnia filtr.

Nie można zmienić kryteriów używanych przez filtr po utworzeniu filtru, ponieważ tabele filtrów nie mają możliwości wykrycia zmiany. Jedynym sposobem zmodyfikowania kryteriów filtru jest utworzenie nowego i usunięcie istniejącego filtru.

Następujące klasy implementują klasę abstractMessageFilter:

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 klasy MessageFilter.

Metody

CreateFilterTable<FilterData>()

Tworzy tabelę filtru dla filtru, który ma skojarzony z nim określony typ danych.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
Match(Message)

Po zastąpieniu klasy pochodnej sprawdza, czy komunikat spełnia kryteria filtrowania. Nie można zbadać ciała.

Match(MessageBuffer)

Gdy przesłonięta w klasie pochodnej, sprawdza, czy buforowany komunikat spełnia kryteria filtru.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy