IMessageFilterTable<TFilterData>.GetMatchingFilters Metoda

Definice

Přidá do kolekce filtry, jejichž kritéria dotazu jsou splněná zadanou zprávou nebo zprávou ve vyrovnávací paměti.

Přetížení

GetMatchingFilters(Message, ICollection<MessageFilter>)

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

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

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

Poznámky

Jednu z těchto metod použijte, pokud se očekává, že zpráva odpovídá více než jednomu filtru a odpovídající filtry jsou povinné. Všimněte si, že kolekce, která obsahuje filtry, se před přidáním výsledků nevyčte. To vám umožní nashromadit všechny shody mezi více tabulkami filtru do jedné kolekce.

Pokud musí být tělo zprávy zkontrolováno filtrem v tabulce filtru, zařapište zprávu do vyrovnávací paměti a předejte ji GetMatchingFilters metodě . V opačném případě použijte GetMatchingFilters .

Odpovídající MessageFilter objekty jsou uloženy v results parametru . Data filtru je pak možné obnovit z tabulky filtrů pomocí těchto filtrů jako klíčů s metodami poskytovanými příkazem IDictionary<TKey,TValue> .

GetMatchingFilters(Message, ICollection<MessageFilter>)

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

public:
 bool GetMatchingFilters(System::ServiceModel::Channels::Message ^ message, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.Message message, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
abstract member GetMatchingFilters : System.ServiceModel.Channels.Message * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (message As Message, results As ICollection(Of MessageFilter)) As Boolean

Parametry

message
Message

K Message otestování.

results
ICollection<MessageFilter>

Odkaz na parametr, který ukládá MessageFilter objekty, které odpovídají ICollection<T> < filtru > .

Návraty

Boolean

true pokud je kritérium shody alespoň jednoho filtru v tabulce splněno pomocí , pokud message false není splněn žádný filtr.

Poznámky

Tuto metodu použijte, pokud se očekává, že zpráva odpovídá více než jednomu filtru, jsou požadované odpovídající filtry a tělo zprávy není potřeba kontrolovat.

Poznámky pro implementátory

Tato verze přebírá a Message musí vyvolat , pokud se pokusí InvalidBodyAccessException prozkoumat text zprávy.

Platí pro

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

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

public:
 bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public:
 bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ buffer, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.MessageBuffer messageBuffer, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
public bool GetMatchingFilters (System.ServiceModel.Channels.MessageBuffer buffer, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
abstract member GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
abstract member GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (messageBuffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean
Public Function GetMatchingFilters (buffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean

Parametry

messageBufferbuffer
MessageBuffer

K MessageBuffer otestování.

results
ICollection<MessageFilter>

Odkaz na parametr, který ukládá MessageFilter objekty, které odpovídají ICollection<T> < filtru > .

Návraty

Boolean

true pokud je kritérium shody alespoň jednoho filtru v tabulce splněno pomocí , pokud messageBuffer false není splněn žádný filtr.

Poznámky

Tuto metodu použijte, pokud se očekává, že zpráva ve vyrovnávací paměti odpovídá více než jednomu filtru, je vyžadován odpovídající filtr a tělo zprávy může být potřeba zkontrolovat.

Platí pro