IMessageFilterTable<TFilterData>.GetMatchingFilter メソッド

定義

指定したメッセージまたはバッファー内のメッセージによってクエリ条件が満たされるフィルターをテーブルから返します。Returns a filter from the table whose query criteria are satisfied by a specified message or buffered message.

オーバーロード

GetMatchingFilter(Message, MessageFilter)

指定したメッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、そのフィルターを out パラメーターに設定して返します。Returns a value that indicates whether the match criterion of exactly one filter in the table is satisfied by the specified message, and returns that filter in an out parameter.

GetMatchingFilter(MessageBuffer, MessageFilter)

指定したメッセージまたはバッファー内のメッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、そのフィルターを out パラメーターに設定して返します。Returns a value that indicates whether the match criterion of exactly one filter in the table is satisfied by the specified message or buffered message, and returns that filter in an out parameter.

注釈

1 つのフィルターがメッセージに一致すると推測され、一致するフィルターが必要な場合に、このメソッドを使用します。Use this method when a single filter is expected to match the message and the matching filter is required.

メッセージ本文の内容を調べる必要がない場合は、GetMatchingFilter を使用します。Use GetMatchingFilter if the body content does not require examination. メッセージ本文の内容を調べる必要がある場合は、GetMatchingFilter を使用します。Use GetMatchingFilter if the contents of the message body may require examination.

GetMatchingFilter(Message, MessageFilter)

指定したメッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、そのフィルターを out パラメーターに設定して返します。Returns a value that indicates whether the match criterion of exactly one filter in the table is satisfied by the specified message, and returns that filter in an out parameter.

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

パラメーター

message
Message

テスト対象の MessageThe Message to test.

filterresult
MessageFilter

message が満たすフィルター条件が格納される out パラメーター。out parameter that stores the filter that is satisfied by the message. フィルターが見つからなかった場合は、このパラメーターに既定値が設定されます。If no filter was found, the parameter is set to its default value.

戻り値

Boolean

true がテーブル内の少なくとも 1 つのフィルターの一致条件を満たしている場合は message、どのフィルター条件も満たしていない場合は falsetrue if the match criterion of at least one filter in the table is satisfied by message; false if no filter is satisfied.

注釈

1 つのフィルターがメッセージに一致すると推測され、一致するフィルターが必要な場合に、このメソッドを使用します。Use this method when a single filter is expected to match the message and the matching filter is required.

フィルター テーブル内のフィルターでメッセージの本文を検査する必要がある場合は、このメソッドの GetMatchingFilter バージョンを使用します。If the body of the message must be inspected by a filter in the filter table, use the GetMatchingFilter version of the method.

注意 (実装者)

2 つ以上のフィルターがメッセージに一致した場合は、MultipleFilterMatchesException をスローする必要があります。If more than one filter matches the message, a MultipleFilterMatchesException must be thrown.

このバージョンは Message を受け取ります。そして、それがメッセージ本文を確認しようとした場合は、このバージョンが InvalidBodyAccessException をスローする必要があります。This version takes a Message and must throw an InvalidBodyAccessException if it tries to examine the message body.

適用対象

GetMatchingFilter(MessageBuffer, MessageFilter)

指定したメッセージまたはバッファー内のメッセージがテーブル内のただ 1 つのフィルターの一致条件を満たしているかどうかを示す値を返し、そのフィルターを out パラメーターに設定して返します。Returns a value that indicates whether the match criterion of exactly one filter in the table is satisfied by the specified message or buffered message, and returns that filter in an out parameter.

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

パラメーター

messageBufferbuffer
MessageBuffer

テスト対象の MessageBufferThe MessageBuffer to test.

filterresult
MessageFilter

message が満たすフィルター条件が格納される out パラメーター。out parameter that stores the filter that is satisfied by the message. フィルターが見つからなかった場合は、このパラメーターに既定値が設定されます。If no filter was found, the parameter is set to its default value.

戻り値

Boolean

true がテーブル内の少なくとも 1 つのフィルターの一致条件を満たしている場合は messageBuffer、どのフィルター条件も満たしていない場合は falsetrue if the match criterion of at least one filter in the table is satisfied by messageBuffer; false if no filter is satisfied.

注釈

1 つのフィルターがバッファー内のメッセージに一致すると予測され、一致するフィルターを返す必要があり、メッセージ本文の検査が必要になる可能性がある場合は、このメソッドを使用します。Use this method when a single filter is expected to match the buffered message, the matching filter must be returned, and the body of the message may have to be inspected.

適用対象