MessageFilterTable<TFilterData>.GetMatchingValue 方法

定义

返回一个值,该值指示指定的消息或缓冲消息是否正好满足表中的一个 MessageFilter 的匹配条件,然后将匹配筛选数据添加到集合。

重载

GetMatchingValue(Message, TFilterData)

返回一个值,该值指示指定的消息是否正好满足表中的一个 MessageFilter 的匹配条件,然后将匹配筛选数据添加到集合。

GetMatchingValue(MessageBuffer, TFilterData)

返回一个值,该值指示指定的缓冲消息是否正好满足表中的一个筛选器的匹配条件,然后将匹配筛选数据添加到集合。

注解

当预期会有单个筛选器与消息相匹配,并且只需要恢复匹配筛选器的 FilterData 时,可使用这些方法之一。

使用 GetMatchingValue 检查消息头并使用 GetMatchingValue 检查缓冲消息,并且可以查看消息正文。

GetMatchingValue(Message, TFilterData)

返回一个值,该值指示指定的消息是否正好满足表中的一个 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

out 参数,存储与 message 匹配的 FilterData

返回

Boolean

如果消息满足表中一个筛选器的匹配条件,则为 true;如果不满足任何筛选器,则为 false

实现

例外

多个筛选器与 message 相匹配。

筛选器试图检查消息正文的内容。

注解

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

此方法实现 GetMatchingFilter

适用于

GetMatchingValue(MessageBuffer, TFilterData)

返回一个值,该值指示指定的缓冲消息是否正好满足表中的一个筛选器的匹配条件,然后将匹配筛选数据添加到集合。

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

out 参数,存储与 buffer 匹配的 FilterData

返回

Boolean

如果缓冲消息满足表中一个筛选器的匹配条件,则为 true;如果不满足任何筛选器,则为 false

实现

例外

多个筛选器与 messageBuffer 相匹配。

注解

当预期有单个筛选器与缓冲消息相匹配,并且只需要恢复匹配筛选器的 FilterData 时,请使用此方法。 因为将筛选器匹配到了缓冲消息,所以此筛选器可以指定消息正文上的条件。

此方法实现 GetMatchingFilter

适用于