MessageFilter.Match メソッド

定義

派生クラスでオーバーライドされた場合、メッセージまたはバッファー内のメッセージがフィルターの条件を満たすかどうかをテストします。

オーバーロード

名前 説明
Match(Message)

派生クラスでオーバーライドされると、メッセージがフィルター条件を満たすかどうかをテストします。 本文を調べることができません。

Match(MessageBuffer)

派生クラスでオーバーライドされると、バッファー内のメッセージがフィルターの条件を満たすかどうかをテストします。

注釈

2 つのオーバーロードの違いは、1 つは Message パラメーターを受け取り、本文を調べることが許可されていないことです。 もう 1 つのパラメーターは MessageBuffer パラメーターを受け取り、メッセージの任意の部分を調べることができます。 メッセージ ヘッダーは自動的にバッファリングされ、フィルターによって使用されずに検査できます。 ただし、本文をフィルターで検査する場合は、バッファーなしメッセージ本文をクエリで使用し、その内容を破棄できるため、メッセージ全体をバッファーに格納する必要があります。

身体の検査が不要な場合は、 Match を使用します。 メッセージ本文の検査が必要な場合は、 Match を使用します。

Match(Message)

ソース:
MessageFilter.cs
ソース:
MessageFilter.cs
ソース:
MessageFilter.cs

派生クラスでオーバーライドされると、メッセージがフィルター条件を満たすかどうかをテストします。 本文を調べることができません。

public:
 abstract bool Match(System::ServiceModel::Channels::Message ^ message);
public abstract bool Match(System.ServiceModel.Channels.Message message);
abstract member Match : System.ServiceModel.Channels.Message -> bool
Public MustOverride Function Match (message As Message) As Boolean

パラメーター

message
Message

テストする Message オブジェクト。

返品

true Message オブジェクトがフィルター条件を満たす場合は。それ以外の場合はfalse

注釈

このメソッドは、メッセージ本文の内容を検査できません。

注意 (実装者)

バッファーされていないメッセージの本文をフィルターで調べようとした場合、フィルターは InvalidBodyAccessExceptionをスローする必要があります。 falseを返すべきではありません。

適用対象

Match(MessageBuffer)

ソース:
MessageFilter.cs
ソース:
MessageFilter.cs
ソース:
MessageFilter.cs

派生クラスでオーバーライドされると、バッファー内のメッセージがフィルターの条件を満たすかどうかをテストします。

public:
 abstract bool Match(System::ServiceModel::Channels::MessageBuffer ^ buffer);
public abstract bool Match(System.ServiceModel.Channels.MessageBuffer buffer);
abstract member Match : System.ServiceModel.Channels.MessageBuffer -> bool
Public MustOverride Function Match (buffer As MessageBuffer) As Boolean

パラメーター

buffer
MessageBuffer

テストする MessageBuffer オブジェクト。

返品

true MessageBuffer オブジェクトがフィルター条件を満たす場合は。それ以外の場合はfalse

注釈

本文をフィルターで検査する場合は、メッセージを完全にバッファーする必要があります。 MessageBufferの本体は完全にバッファーされるため、フィルターで検査できます。 完全にバッファリングされていない Message の本体は、フィルター検査によって消費される場合があります。 Messageのヘッダー要素は自動的にバッファリングされるため、使用せずに検査できます。

適用対象