Sdílet prostřednictvím


MessageFilter Třída

Definice

abstract základní třída pro různé třídy filtrů používaných k dotazování zpráv.

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
Dědičnost
MessageFilter
Odvozené
Atributy

Poznámky

MessageFilter je třída abstract, kterou vývojáři implementují, aby určili kritéria, která se mají použít ke kontrole zpráv. Aplikace koncového bodu obvykle používá filtry k určení toho, co dělat se zprávou, na základě zkoumání určité části zprávy. Proces řazení do fronty může například pomocí dotazu XPath 1.0 zkontrolovat prvek priority známé hlavičky a určit, zda se má zpráva přesunout do fronty.

Filtry jsou uloženy v tabulce filtru, která implementuje IMessageFilterTable<TFilterData>. Každý filtr v tabulce je přidružený k zadaným datům filtru, která lze použít k označení akcí, které se mají provést, pokud zpráva odpovídá filtru. Metody Match slouží k určení, jestli zpráva splňuje filtr.

Kritéria používaná filtrem nelze po vytvoření filtru změnit, protože tabulky filtrů nemají způsob, jak zjistit změnu. Jediným způsobem, jak upravit kritéria filtru, je vytvořit nový a odstranit existující filtr.

Následující třídy implementují abstractMessageFilter třídu:

ChannelListenerBase<TChannel> je základní třída abstract, kterou můžete použít pro psaní naslouchacích procesů bez fronty.

Konstruktory

MessageFilter()

Při zavolání v odvozené třídě inicializuje novou instanci MessageFilter třídy.

Metody

CreateFilterTable<FilterData>()

Vytvoří tabulku filtru pro filtr, který má přidružený zadaný typ dat.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
Match(Message)

Při přepsání v odvozené třídě testuje, zda zpráva splňuje kritéria filtru. Tělo nelze prozkoumat.

Match(MessageBuffer)

Při přepsání v odvozené třídě testuje, zda zpráva v vyrovnávací paměti splňuje kritéria filtru.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro