Sdílet prostřednictvím


IMessageFilterTable<TFilterData>.GetMatchingValue Metoda

Definice

Vrátí hodnotu, která určuje, zda je kritérium shody filtru v tabulce splněno zadanou zprávou nebo zprávou ve vyrovnávací paměti, a vrátí data filtru, který odpovídá filtru.

Přetížení

GetMatchingValue(Message, TFilterData)

Vrátí hodnotu, která označuje, zda je kritérium shody přesně jednoho filtru v tabulce splněno zadanou zprávou, a přidá odpovídající data filtru do kolekce.

GetMatchingValue(MessageBuffer, TFilterData)

Vrátí hodnotu, která označuje, zda je kritérium shody přesně jednoho filtru v tabulce splněno zadanou zprávou ve vyrovnávací paměti, a přidá odpovídající data filtru do kolekce.

Poznámky

Jednu z těchto metod použijte, pokud se očekává, že maximálně jeden filtr odpovídá zprávě a musí být obnovena pouze data filtru z odpovídajícího filtru. Tyto metody vrátí logickou hodnotu, která označuje, jestli byl nalezen odpovídající filtr, a nastaví data referenční parametr na odpovídající data filtru.

Použijte GetMatchingFilter , pokud text zprávy není zkontrolován žádným z filtrů v tabulce filtru.

Pokud text zprávy může být zkontrolován filtrem v tabulce filtru, uloží zprávu do vyrovnávací paměti a předá ji do GetMatchingFilter verze metody.

GetMatchingValue(Message, TFilterData)

Zdroj:
IMessageFilterTable.cs
Zdroj:
IMessageFilterTable.cs
Zdroj:
IMessageFilterTable.cs

Vrátí hodnotu, která označuje, zda je kritérium shody přesně jednoho filtru v tabulce splněno zadanou zprávou, a přidá odpovídající data filtru do kolekce.

public:
 bool GetMatchingValue(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.Message message, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.Message * 'FilterData -> bool
Public Function GetMatchingValue (message As Message, ByRef value As TFilterData) As Boolean

Parametry

message
Message

Test Message .

value
TFilterData

out parametr, který ukládá parametr FilterData , který odpovídá parametru message.

Návraty

true pokud zpráva splňuje kritérium shody přesně jednoho filtru v tabulce; false pokud není splněn žádný filtr.

Poznámky

Tuto metodu použijte, pokud se očekává, že jeden filtr odpovídá zprávě a musí být obnovena pouze data filtru z odpovídajícího filtru.

Tato metoda očekává maximálně jeden odpovídající filtr. Pokud se shoduje více než jeden filtr, MultipleFilterMatchesException musí být vyvolán.

Pokud musí být text zprávy zkontrolován filtrem v tabulce filtru, uloží zprávu do vyrovnávací paměti pomocí CreateBufferedCopy a předá ji do GetMatchingValue verze metody.

Poznámky pro implementátory

Pokud zprávě odpovídá více než jeden filtr, MultipleFilterMatchesException musí být vyvolán.

Toto přetížení trvá Message a musí vyvolat, InvalidBodyAccessException pokud se pokusí prozkoumat text zprávy.

Platí pro

GetMatchingValue(MessageBuffer, TFilterData)

Zdroj:
IMessageFilterTable.cs
Zdroj:
IMessageFilterTable.cs
Zdroj:
IMessageFilterTable.cs

Vrátí hodnotu, která označuje, zda je kritérium shody přesně jednoho filtru v tabulce splněno zadanou zprávou ve vyrovnávací paměti, a přidá odpovídající data filtru do kolekce.

public:
 bool GetMatchingValue(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.MessageBuffer messageBuffer, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.MessageBuffer * 'FilterData -> bool
Public Function GetMatchingValue (messageBuffer As MessageBuffer, ByRef value As TFilterData) As Boolean

Parametry

messageBuffer
MessageBuffer

Test MessageBuffer .

value
TFilterData

out parametr, který ukládá parametr FilterData , který odpovídá parametru messageBuffer.

Návraty

true pokud zpráva splňuje kritérium shody přesně jednoho filtru v tabulce; false pokud není splněn žádný filtr.

Poznámky

Tuto metodu použijte, pokud se očekává, že jeden filtr odpovídá zprávě ve vyrovnávací paměti, musí být obnovena pouze data filtru z odpovídajícího filtru a tělo zprávy může být nutné zkontrolovat.

Poznámky pro implementátory

Pokud zprávě odpovídá více než jeden filtr, MultipleFilterMatchesException musí být vyvolán.

Platí pro