IMessageFilterTable<TFilterData>.GetMatchingFilter 方法

定义

从表中返回指定的消息或缓冲消息满足其查询条件的筛选器。

重载

GetMatchingFilter(Message, MessageFilter)

返回一个值,该值指示指定的消息是否正好满足表中的一个筛选器的匹配条件,然后在 out 参数中返回该筛选器。

GetMatchingFilter(MessageBuffer, MessageFilter)

返回一个值,该值指示指定的消息或缓冲消息是否正好满足表中的一个筛选器的匹配条件,然后在 out 参数中返回该筛选器。

注解

当预期会有单个筛选器与消息相匹配,并且需要匹配筛选器时,请使用此方法。

如果不需要检查正文内容,请使用 GetMatchingFilter。 如果可能需要检查消息正文的内容,请使用 GetMatchingFilter

GetMatchingFilter(Message, MessageFilter)

Source:
IMessageFilterTable.cs
Source:
IMessageFilterTable.cs
Source:
IMessageFilterTable.cs

返回一个值,该值指示指定的消息是否正好满足表中的一个筛选器的匹配条件,然后在 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 满足表中至少一个筛选器的匹配条件,则为 message;如果不满足任何筛选器,则为 false

注解

当预期会有单个筛选器与消息相匹配,并且需要匹配筛选器时,请使用此方法。

如果必须由筛选器表中的筛选器来检查消息的正文,请使用该方法的 GetMatchingFilter 版本。

实施者说明

如果多个筛选器与消息相匹配,则必须引发 MultipleFilterMatchesException

此版本使用 Message,如果它试图检查消息正文,则必须引发 InvalidBodyAccessException

适用于

GetMatchingFilter(MessageBuffer, MessageFilter)

Source:
IMessageFilterTable.cs
Source:
IMessageFilterTable.cs
Source:
IMessageFilterTable.cs

返回一个值,该值指示指定的消息或缓冲消息是否正好满足表中的一个筛选器的匹配条件,然后在 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 满足表中至少一个筛选器的匹配条件,则为 messageBuffer;如果不满足任何筛选器,则为 false

注解

当预期会有单个筛选器与缓冲消息相匹配,同时必须返回匹配筛选器,且可能必须检查消息的正文时,请使用此方法。

适用于