IMessageFilterTable<TFilterData>.GetMatchingValue 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个值,该值指示指定的消息或缓冲消息是否满足表中筛选器的匹配条件,然后返回匹配筛选器的数据。
重载
GetMatchingValue(Message, TFilterData) |
返回一个值,该值指示指定的消息是否正好满足表中的一个筛选器的匹配条件,然后将匹配筛选数据添加到集合。 |
GetMatchingValue(MessageBuffer, TFilterData) |
返回一个值,该值指示指定的缓冲消息是否正好满足表中的一个筛选器的匹配条件,然后将匹配筛选数据添加到集合。 |
注解
当预期至多只有一个筛选器与消息相匹配,并且只需要恢复匹配筛选器的数据时,请使用这些方法之一。 这些方法会先返回一个指示是否找到匹配筛选器的布尔值,然后将 data
引用参数设置为匹配筛选器数据。
如果筛选器表中的任何筛选器都不检查消息的正文,请使用 GetMatchingFilter。
如果可能会由筛选器表中的筛选器来检查消息的正文,请缓冲该消息,然后将它传递到该方法的 GetMatchingFilter 版本。
GetMatchingValue(Message, TFilterData)
- Source:
- IMessageFilterTable.cs
- Source:
- IMessageFilterTable.cs
返回一个值,该值指示指定的消息是否正好满足表中的一个筛选器的匹配条件,然后将匹配筛选数据添加到集合。
public:
bool GetMatchingValue(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.Message message, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.Message * 'FilterData -> bool
Public Function GetMatchingValue (message As Message, ByRef value As TFilterData) As Boolean
参数
- value
- TFilterData
out
参数,用于 FilterData
存储与 匹配的 message
。
返回
如果消息正好满足表中一个筛选器的匹配条件,则为 true
;如果不满足任何筛选器,则为 false
。
注解
当预期只有一个筛选器与消息相匹配,并且只需要恢复匹配筛选器的数据时,请使用此方法。
此方法预期最多只有一个匹配筛选器。 如果多个筛选器相匹配,则必须引发 MultipleFilterMatchesException。
如果必须由筛选器表中的筛选器来检查消息的正文,请使用 CreateBufferedCopy 来缓冲该消息,然后将它传递到该方法的 GetMatchingValue 版本。
实施者说明
如果多个筛选器与消息相匹配,则必须引发 MultipleFilterMatchesException。
此重载使用 Message,如果该重载试图检查消息正文,则必须引发 InvalidBodyAccessException。
适用于
GetMatchingValue(MessageBuffer, TFilterData)
- Source:
- IMessageFilterTable.cs
- Source:
- IMessageFilterTable.cs
返回一个值,该值指示指定的缓冲消息是否正好满足表中的一个筛选器的匹配条件,然后将匹配筛选数据添加到集合。
public:
bool GetMatchingValue(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.MessageBuffer messageBuffer, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.MessageBuffer * 'FilterData -> bool
Public Function GetMatchingValue (messageBuffer As MessageBuffer, ByRef value As TFilterData) As Boolean
参数
- messageBuffer
- MessageBuffer
要测试的 MessageBuffer。
- value
- TFilterData
out
参数,用于 FilterData
存储与 匹配的 messageBuffer
。
返回
如果消息正好满足表中一个筛选器的匹配条件,则为 true
;如果不满足任何筛选器,则为 false
。
注解
当预期会有单个筛选器与缓冲消息相匹配,且只需要恢复匹配筛选器的数据,并且可能需要检查消息的正文时,请使用此方法。
实施者说明
如果多个筛选器与消息相匹配,则必须引发 MultipleFilterMatchesException。