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
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í abstract
MessageFilter třídu:
XPathMessageFilter používá výraz XPath 1.0 k určení kritérií shody.
MatchAllMessageFilter odpovídá všem zprávům.
MatchNoneMessageFilter neodpovídá žádné zprávě.
ActionMessageFilter testuje, jestli je akce zprávy jednou ze zadaných skupin akcí.
EndpointAddressMessageFilter testuje, jestli zpráva splňuje zadanou adresu koncového bodu.
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) |