IMessageFilterTable<TFilterData>.GetMatchingFilters 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ř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
- results
- ICollection<MessageFilter>
Odkaz na parametr, který ukládá MessageFilter objekty, které odpovídají ICollection<T> < filtru > .
Návraty
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
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.