次の方法で共有


MessageFilterTable<TFilterData>.GetMatchingFilters メソッド

定義

指定したメッセージまたはバッファー内のメッセージがテーブル内の MessageFilter の一致条件を満たすかどうかを示す値を返し、一致するフィルターをコレクションに追加します。

オーバーロード

GetMatchingFilters(Message, ICollection<MessageFilter>)

指定したメッセージがテーブル内の MessageFilter の一致条件を満たすかどうかを示す値を返し、一致するフィルターをコレクションに追加します。

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

指定したバッファー内メッセージがテーブル内の少なくとも 1 つのフィルターの一致条件を満たすかどうかを示す値を返し、少なくとも 1 つの一致が発見された最高優先度のフィルター グループの一致するフィルターをコレクションに追加します。

注釈

2 つ以上のフィルターがメッセージに一致すると推測され、一致するフィルターが必要な場合は、このメソッドを使用します。

GetMatchingFilters(Message, ICollection<MessageFilter>)

指定したメッセージがテーブル内の MessageFilter の一致条件を満たすかどうかを示す値を返し、一致するフィルターをコレクションに追加します。

public:
 virtual 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
override this.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

message がテーブル内の少なくとも 1 つの MessageFilter の一致条件を満たしている場合は true。どのフィルター条件も満たしていない場合は false

実装

例外

resultsnullです。

フィルターがメッセージ本文の内容を検査しようとしました。

注釈

2 つ以上のフィルターがメッセージに一致すると推測され、一致するフィルターが必要な場合は、このメソッドを使用します。

このメソッドは、少なくとも 1 つの一致が発生する優先度の最も高いフィルター グループ内で、一致するすべてのフィルターをテストします。

テーブル内のフィルターは、メッセージ本文を検査できません。

一致する MessageFilter オブジェクトは、resultsICollection<T> パラメーターに格納されます。 これで、該当するフィルターをキーとして指定し、FilterData によって提供されているメソッドを使用して、IDictionary<TKey,TValue> をフィルター テーブルから復元できます。

このメソッドは、GetMatchingFilters を実装します。

適用対象

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

指定したバッファー内メッセージがテーブル内の少なくとも 1 つのフィルターの一致条件を満たすかどうかを示す値を返し、少なくとも 1 つの一致が発見された最高優先度のフィルター グループの一致するフィルターをコレクションに追加します。

public:
 virtual bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ buffer, 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
override this.GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (buffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean

パラメーター

buffer
MessageBuffer

テスト対象の MessageBuffer

results
ICollection<MessageFilter>

ICollection<T><Filter> に一致する MessageFilter オブジェクトを格納する参照パラメーター。

戻り値

Boolean

message がテーブル内の少なくとも 1 つのフィルターの一致条件を満たしている場合は true、どのフィルター条件も満たしていない場合は false

実装

例外

resultsnullです。

注釈

2 つ以上のフィルターがバッファー内のメッセージに一致すると推測され、一致するフィルターが必要な場合は、このメソッドを使用します。

テーブル内のフィルターは、メッセージ本文を検査できます。

一致する MessageFilter オブジェクトは、resultsICollection<T> パラメーターに格納されます。 これで、該当するフィルターをキーとして指定し、FilterData によって提供されているメソッドを使用して、IDictionary<TKey,TValue> をフィルター テーブルから復元できます。

このメソッドは、GetMatchingFilters を実装します。

適用対象