MessageFilter Klasa

Definicja

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 :

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)

Dotyczy