XPathMessageFilterTable<TFilterData>.GetMatchingValue 方法

定义

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

重载

GetMatchingValue(Message, TFilterData)

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

GetMatchingValue(MessageBuffer, TFilterData)

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

GetMatchingValue(SeekableXPathNavigator, TFilterData)

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

GetMatchingValue(XPathNavigator, TFilterData)

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

注解

当预期有单个筛选器与文档对象相匹配,并且只需要恢复匹配筛选器的 FilterData 时,请使用这四个方法之一。

前两种方法是实现。GetMatchingValue

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

其余的两个方法为针对于 XPathMessageFilterTable<TFilterData> 的重载。 若要筛选通过导航器提供的文档,请使用 GetMatchingValueGetMatchingValue

GetMatchingValue(Message, TFilterData)

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

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

实现

例外

messagenull

多个筛选器与 message 相匹配。

注解

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

此方法实现 GetMatchingValue

适用于

GetMatchingValue(MessageBuffer, TFilterData)

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

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

参数

messageBuffer
MessageBuffer

要测试的 MessageBuffer

data
TFilterData

out 参数,存储与 messageBuffer 匹配的筛选器的 FilterData

返回

Boolean

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

实现

例外

messagenull

多个筛选器与 messageBuffer 相匹配。

注解

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

此方法实现 GetMatchingFilter

适用于

GetMatchingValue(SeekableXPathNavigator, TFilterData)

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

public:
 bool GetMatchingValue(System::ServiceModel::Dispatcher::SeekableXPathNavigator ^ navigator, [Runtime::InteropServices::Out] TFilterData % data);
public bool GetMatchingValue (System.ServiceModel.Dispatcher.SeekableXPathNavigator navigator, out TFilterData data);
member this.GetMatchingValue : System.ServiceModel.Dispatcher.SeekableXPathNavigator * 'FilterData -> bool
Public Function GetMatchingValue (navigator As SeekableXPathNavigator, ByRef data As TFilterData) As Boolean

参数

data
TFilterData

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

返回

Boolean

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

例外

navigatornull

多个筛选器与 navigator 相匹配。

注解

使用此方法指定消息必须满足的 XPath 条件。

此方法类似于 GetMatchingValue,不同的是此方法使用 SeekableXPathNavigator,这样就扩展了 XPathNavigator 的功能,可以包含允许各种优化的方法。

适用于

GetMatchingValue(XPathNavigator, TFilterData)

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

public:
 bool GetMatchingValue(System::Xml::XPath::XPathNavigator ^ navigator, [Runtime::InteropServices::Out] TFilterData % data);
public bool GetMatchingValue (System.Xml.XPath.XPathNavigator navigator, out TFilterData data);
member this.GetMatchingValue : System.Xml.XPath.XPathNavigator * 'FilterData -> bool
Public Function GetMatchingValue (navigator As XPathNavigator, ByRef data As TFilterData) As Boolean

参数

navigator
XPathNavigator

要测试的 XPathNavigator

data
TFilterData

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

返回

Boolean

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

例外

navigatornull

多个筛选器与 navigator 相匹配。

注解

使用此方法指定消息必须满足的 XPath 条件。

适用于