MessageFilter Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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]
[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
- Dědičnost
-
MessageFilter
- Odvozené
- Atributy
Poznámky
MessageFilterabstract
je třída, kterou vývojáři implementují, aby určili kritéria, která se mají použít ke kontrole zpráv. Filtry obvykle používají aplikace koncového bodu k určení toho, co dělat se zprávou na základě zkoumání určité části zprávy. Proces řízení front, například může použít dotaz XPath 1.0 ke kontrole prvku priority známé hlavičky a určit, jestli se má zpráva přesunout na frontu 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 rozpoznat 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í abstract
MessageFilter třídu:
XPathMessageFilter používá výraz XPath 1.0 k určení kritérií shody.
MatchAllMessageFilter odpovídá všemzprávm
MatchNoneMessageFilter neodpovídá žádné zprávě.
ActionMessageFilter testuje, zda je akce zprávy jednou ze zadaných skupin akcí.
EndpointAddressMessageFilter testuje, jestli zpráva splňuje zadanou adresu koncového bodu.
ChannelListenerBase<TChannel>abstract
je základní třída, kterou můžete použít pro psaní naslouchacích procesů, které nejsou ve frontě.
Konstruktory
MessageFilter() |
Při vyvolá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čí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Type Získá aktuální instanci. (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 ve vyrovnávací paměti splňuje kritéria filtru. |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |