IMessageFilterTable<TFilterData>.GetMatchingFilters 方法

定義

將指定訊息或緩衝訊息符合之查詢準則所屬的篩選條件新增至集合。

多載

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

參數

message
Message

要測試的 Message

results
ICollection<MessageFilter>

參考參數,其中儲存 ICollection<T><Filter> 中相符的 MessageFilter 物件。

傳回

Boolean

如果 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 物件。

傳回

Boolean

如果 true 符合資料表中至少一個篩選條件的比對準則,則為 messageBuffer,如果沒有符合任何篩選條件,則為 false

備註

當預期有一個以上的篩選條件與緩衝的訊息相符,必須使用相符的篩選條件,以及訊息本文可能需要進行檢查時,便可使用這個方法。

適用於