MessageFilter.Match Metoda
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í.
Při přepsání v odvozené třídě testuje, zda zpráva nebo zpráva ve vyrovnávací paměti splňuje kritéria filtru.
Přetížení
Match(Message) |
Při přepsání v odvozené třídě testuje, zda zpráva splňuje kritéria filtru. Tělo nemůže být vyšetřeno. |
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. |
Poznámky
Rozdíl mezi dvěma přetíženími spočívá v tom, že jedno přebírá Message parametr a nemá povoleno zkoumat tělo. Druhý přebírá MessageBuffer parametr a může prozkoumat libovolnou část zprávy. Záhlaví zpráv se automaticky ukládají do vyrovnávací paměti a filtr je může zkontrolovat, aniž by je spotřeboval. Pokud ale má být tělo zkontrolováno filtrem, musí být celá zpráva uložena do vyrovnávací paměti, protože dotaz může využívat text zprávy bez vyrovnávací paměti a jeho obsah se zničí.
Použijte Match , pokud vyšetření těla není vyžadováno. Použijte Match , pokud se vyžaduje kontrola textu zprávy.
Match(Message)
- Zdroj:
- MessageFilter.cs
- Zdroj:
- MessageFilter.cs
Při přepsání v odvozené třídě testuje, zda zpráva splňuje kritéria filtru. Tělo nemůže být vyšetřeno.
public:
abstract bool Match(System::ServiceModel::Channels::Message ^ message);
public abstract bool Match (System.ServiceModel.Channels.Message message);
abstract member Match : System.ServiceModel.Channels.Message -> bool
Public MustOverride Function Match (message As Message) As Boolean
Parametry
Návraty
true
Message pokud objekt splňuje kritéria filtru, false
v opačném případě .
Poznámky
Tato metoda nemůže zkontrolovat obsah textu zprávy.
Poznámky pro implementátory
Pokud se filtr pokusí prozkoumat text zprávy bez vyrovnávací zprávy, musí filtr vyvolat InvalidBodyAccessException. Nemělo by vracet false
.
Platí pro
Match(MessageBuffer)
- Zdroj:
- MessageFilter.cs
- Zdroj:
- MessageFilter.cs
Při přepsání v odvozené třídě testuje, zda zpráva ve vyrovnávací paměti splňuje kritéria filtru.
public:
abstract bool Match(System::ServiceModel::Channels::MessageBuffer ^ buffer);
public abstract bool Match (System.ServiceModel.Channels.MessageBuffer buffer);
abstract member Match : System.ServiceModel.Channels.MessageBuffer -> bool
Public MustOverride Function Match (buffer As MessageBuffer) As Boolean
Parametry
- buffer
- MessageBuffer
Objekt MessageBuffer , který se má otestovat.
Návraty
true
MessageBuffer pokud objekt splňuje kritéria filtru, false
v opačném případě .
Poznámky
Pokud má filtr zkontrolovat text zprávy, musí být zpráva plně uložená do vyrovnávací paměti. Tělo je MessageBuffer plně pufrováno, a proto může být zkontrolováno filtrem. Message Tělo, které nebylo plně pufrováno, může být spotřebováno kontrolou filtru. Prvek záhlaví objektu Message se automaticky uloží do vyrovnávací paměti, a proto jej lze zkontrolovat bez použití.