次の方法で共有


MessageFilterTable<TFilterData>.GetMatchingValue メソッド

定義

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

オーバーロード

GetMatchingValue(Message, TFilterData)

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

GetMatchingValue(MessageBuffer, TFilterData)

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

注釈

1 つのフィルターがメッセージに一致すると予測され、一致するフィルターから FilterData だけを復元する必要がある場合は、これらのメソッドのいずれか 1 つを使用します。

メッセージ ヘッダーを検査するには GetMatchingValue を、バッファー内のメッセージ (メッセージ本文も含む) を検査するには GetMatchingValue を使用します。

GetMatchingValue(Message, TFilterData)

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

public:
 virtual bool GetMatchingValue(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] TFilterData % data);
public bool GetMatchingValue (System.ServiceModel.Channels.Message message, out TFilterData data);
abstract member GetMatchingValue : System.ServiceModel.Channels.Message * 'FilterData -> bool
override this.GetMatchingValue : System.ServiceModel.Channels.Message * 'FilterData -> bool
Public Function GetMatchingValue (message As Message, ByRef data As TFilterData) As Boolean

パラメーター

message
Message

テスト対象の Message

data
TFilterData

message に一致する FilterData が格納される out パラメーター。

戻り値

Boolean

メッセージがテーブル内のいずれか 1 つのフィルターの一致条件を満たしている場合は true、どのフィルター条件も満たしていない場合は false

実装

例外

2 つ以上のフィルターが message に一致しています。

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

注釈

1 つのフィルターがメッセージに一致すると予測され、一致するフィルターから FilterData だけを復元する必要がある場合は、このメソッドを使用します。

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

適用対象

GetMatchingValue(MessageBuffer, TFilterData)

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

public:
 virtual bool GetMatchingValue(System::ServiceModel::Channels::MessageBuffer ^ buffer, [Runtime::InteropServices::Out] TFilterData % data);
public bool GetMatchingValue (System.ServiceModel.Channels.MessageBuffer buffer, out TFilterData data);
abstract member GetMatchingValue : System.ServiceModel.Channels.MessageBuffer * 'FilterData -> bool
override this.GetMatchingValue : System.ServiceModel.Channels.MessageBuffer * 'FilterData -> bool
Public Function GetMatchingValue (buffer As MessageBuffer, ByRef data As TFilterData) As Boolean

パラメーター

buffer
MessageBuffer

テスト対象の MessageBuffer

data
TFilterData

buffer に一致する FilterData が格納される out パラメーター。

戻り値

Boolean

バッファー内のメッセージがテーブル内のいずれか 1 つのフィルターの一致条件を満たしている場合は true、どのフィルター条件も満たしていない場合は false

実装

例外

複数のフィルターが messageBuffer に一致しています。

注釈

1 つのフィルターがバッファー内のメッセージに一致すると予測され、一致するフィルターから FilterData だけを復元する必要がある場合は、このメソッドを使用します。 このフィルターはバッファー内のメッセージに対して照合されるため、メッセージ本文に対する条件を指定できます。

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

適用対象