次の方法で共有


IMessageFilterTable<TFilterData>.GetMatchingFilter メソッド

定義

指定したメッセージまたはバッファー内のメッセージによってクエリ条件が満たされるフィルターをテーブルから返します。

オーバーロード

GetMatchingFilter(Message, MessageFilter)

指定したメッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、そのフィルターを out パラメーターに設定して返します。

GetMatchingFilter(MessageBuffer, MessageFilter)

指定したメッセージまたはバッファー内のメッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、そのフィルターを out パラメーターに設定して返します。

注釈

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

メッセージ本文の内容を調べる必要がない場合は、GetMatchingFilter を使用します。 メッセージ本文の内容を調べる必要がある場合は、GetMatchingFilter を使用します。

GetMatchingFilter(Message, MessageFilter)

ソース:
IMessageFilterTable.cs
ソース:
IMessageFilterTable.cs

指定したメッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、そのフィルターを out パラメーターに設定して返します。

public:
 bool GetMatchingFilter(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] System::ServiceModel::Dispatcher::MessageFilter ^ % filter);
public bool GetMatchingFilter (System.ServiceModel.Channels.Message message, out System.ServiceModel.Dispatcher.MessageFilter filter);
abstract member GetMatchingFilter : System.ServiceModel.Channels.Message * MessageFilter -> bool
Public Function GetMatchingFilter (message As Message, ByRef filter As MessageFilter) As Boolean

パラメーター

message
Message

テスト対象の Message

filter
MessageFilter

message が満たすフィルター条件が格納される out パラメーター。 フィルターが見つからなかった場合は、このパラメーターに既定値が設定されます。

戻り値

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

注釈

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

フィルター テーブル内のフィルターでメッセージの本文を検査する必要がある場合は、このメソッドの GetMatchingFilter バージョンを使用します。

注意 (実装者)

2 つ以上のフィルターがメッセージに一致した場合は、MultipleFilterMatchesException をスローする必要があります。

このバージョンは Message を受け取ります。そして、それがメッセージ本文を確認しようとした場合は、このバージョンが InvalidBodyAccessException をスローする必要があります。

適用対象

GetMatchingFilter(MessageBuffer, MessageFilter)

ソース:
IMessageFilterTable.cs
ソース:
IMessageFilterTable.cs

指定したメッセージまたはバッファー内のメッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、そのフィルターを out パラメーターに設定して返します。

public:
 bool GetMatchingFilter(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, [Runtime::InteropServices::Out] System::ServiceModel::Dispatcher::MessageFilter ^ % filter);
public bool GetMatchingFilter (System.ServiceModel.Channels.MessageBuffer messageBuffer, out System.ServiceModel.Dispatcher.MessageFilter filter);
abstract member GetMatchingFilter : System.ServiceModel.Channels.MessageBuffer * MessageFilter -> bool
Public Function GetMatchingFilter (messageBuffer As MessageBuffer, ByRef filter As MessageFilter) As Boolean

パラメーター

messageBuffer
MessageBuffer

テスト対象の MessageBuffer

filter
MessageFilter

message が満たすフィルター条件が格納される out パラメーター。 フィルターが見つからなかった場合は、このパラメーターに既定値が設定されます。

戻り値

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

注釈

1 つのフィルターがバッファー内のメッセージに一致すると予測され、一致するフィルターを返す必要があり、メッセージ本文の検査が必要になる可能性がある場合は、このメソッドを使用します。

適用対象