IMessageFilterTable<TFilterData>.GetMatchingFilters 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將指定訊息或緩衝訊息符合之查詢準則所屬的篩選條件新增至集合。
多載
GetMatchingFilters(Message, ICollection<MessageFilter>) |
傳回值,這個值會指出指定的訊息或是緩衝的訊息是否符合資料表中之篩選條件的比對準則,並且將相符的篩選條件新增至集合。 |
GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>) |
傳回值,這個值會指出緩衝的訊息是否符合資料表中之篩選條件的比對準則,並且將相符的篩選條件新增至集合。 |
備註
當預期有一個以上的篩選條件與訊息相符,而且必須取得相符的篩選條件時,便可使用下列其中一個方法。 請注意,包含這些篩選條件的集合在結果加入之前不會進行清除。 這樣可讓您將多個篩選資料表中的所有符合項目累積成為單一集合。
如果訊息本文必須由篩選資料表中的篩選條件進行檢查,請緩衝該訊息並將它傳遞至 GetMatchingFilters 方法。 否則,使用 GetMatchingFilters。
相符的 MessageFilter 物件會儲存在 results
參數中。 因此,可以使用這些篩選條件當做索引鍵,並透過 IDictionary<TKey,TValue> 提供的方法,從篩選資料表中重新取得篩選資料。
GetMatchingFilters(Message, ICollection<MessageFilter>)
傳回值,這個值會指出指定的訊息或是緩衝的訊息是否符合資料表中之篩選條件的比對準則,並且將相符的篩選條件新增至集合。
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
參數
- results
- ICollection<MessageFilter>
參考參數,其中儲存 ICollection<T><Filter> 中相符的 MessageFilter 物件。
傳回
如果 true
符合資料表中至少一個篩選條件的比對準則,則為 message
,如果沒有符合任何篩選條件,則為 false
。
備註
當預期有一個以上的篩選條件與訊息相符,必須使用相符的篩選條件,以及訊息本文不需要進行檢查時,便可使用這個方法。
給實施者的注意事項
這個版本會接受 Message,而如果它嘗試檢查訊息本文,就一定會擲回 InvalidBodyAccessException。
適用於
GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)
傳回值,這個值會指出緩衝的訊息是否符合資料表中之篩選條件的比對準則,並且將相符的篩選條件新增至集合。
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
參數
- messageBufferbuffer
- MessageBuffer
要測試的 MessageBuffer。
- results
- ICollection<MessageFilter>
參考參數,其中儲存 ICollection<T><Filter> 中相符的 MessageFilter 物件。
傳回
如果 true
符合資料表中至少一個篩選條件的比對準則,則為 messageBuffer
,如果沒有符合任何篩選條件,則為 false
。
備註
當預期有一個以上的篩選條件與緩衝的訊息相符,必須使用相符的篩選條件,以及訊息本文可能需要進行檢查時,便可使用這個方法。