IMessageFilterTable<TFilterData>.GetMatchingFilters メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したメッセージまたはバッファー内のメッセージによってクエリ条件が満たされるフィルターをコレクションに追加します。
オーバーロード
GetMatchingFilters(Message, ICollection<MessageFilter>) |
指定したメッセージがテーブル内のフィルターの一致条件を満たしているかどうかを示す値を返し、一致するフィルターをコレクションに追加します。 |
GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>) |
指定したバッファー内のメッセージがテーブル内のフィルターの一致条件を満たしているかどうかを示す値を返し、一致するフィルターをコレクションに追加します。 |
注釈
2 つ以上のフィルターがメッセージに一致すると推測され、一致するフィルターが必要な場合は、これらのうちいずれか 1 つのメソッドを使用します。 結果を追加する前に、フィルターが格納されたコレクションをクリアしないように注意してください。 そうすることで、複数のフィルター テーブルに含まれる一致フィルターのすべてを 1 つのコレクションに蓄積できます。
フィルター テーブル内のフィルターでメッセージの本文を検査する必要がある場合は、メッセージをバッファーに格納し、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
がテーブル内の少なくとも 1 つのフィルターの一致条件を満たしている場合は message
、どのフィルター条件も満たしていない場合は false
。
注釈
2 つ以上のフィルターがメッセージに一致すると予測され、一致するフィルターが必要で、メッセージ本文を検査する必要がない場合は、このメソッドを使用します。
注意 (実装者)
このバージョンは 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 messageBuffer, 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
Public Function GetMatchingFilters (messageBuffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean
パラメーター
- messageBuffer
- MessageBuffer
テスト対象の MessageBuffer。
- results
- ICollection<MessageFilter>
ICollection<T> <Filter> に一致する MessageFilter オブジェクトを格納する参照パラメーター。
戻り値
true
がテーブル内の少なくとも 1 つのフィルターの一致条件を満たしている場合は messageBuffer
、どのフィルター条件も満たしていない場合は false
。
注釈
2 つ以上のフィルターがバッファー内のメッセージに一致すると予測され、一致するフィルターが必要で、メッセージ本文の検査が必要になる可能性がある場合は、このメソッドを使用します。
適用対象
.NET