IMessageFilterTable<TFilterData>.GetMatchingValues 方法

定义

将与指定的消息或缓冲消息相匹配筛选器的数据添加到集合。

重载

GetMatchingValues(Message, ICollection<TFilterData>)

返回一个值,该值指示指定的消息是否满足表中至少一个筛选器的匹配条件,然后将匹配筛选器的 FilterData 添加到集合。

GetMatchingValues(MessageBuffer, ICollection<TFilterData>)

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

注解

当预期会有多个筛选器相匹配,并且只需要匹配筛选器数据时,请使用此方法。 这些方法会先返回一个指示是否找到匹配筛选器的布尔值,然后将所有匹配筛选器的数据放入集合。

注意,请不要在添加结果之前清除包含筛选器数据的集合。 这样您就可以将多个筛选器表中所有匹配项累积添加到单个集合中。

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

GetMatchingValues(Message, ICollection<TFilterData>)

返回一个值,该值指示指定的消息是否满足表中至少一个筛选器的匹配条件,然后将匹配筛选器的 FilterData 添加到集合。

public:
 bool GetMatchingValues(System::ServiceModel::Channels::Message ^ message, System::Collections::Generic::ICollection<TFilterData> ^ results);
public bool GetMatchingValues (System.ServiceModel.Channels.Message message, System.Collections.Generic.ICollection<TFilterData> results);
abstract member GetMatchingValues : System.ServiceModel.Channels.Message * System.Collections.Generic.ICollection<'FilterData> -> bool
Public Function GetMatchingValues (message As Message, results As ICollection(Of TFilterData)) As Boolean

参数

message
Message

要测试的 Message

results
ICollection<TFilterData>

在通用集合中存储匹配筛选器的筛选数据的引用参数。

返回

Boolean

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

注解

当预期会有一个或多个筛选器与消息相匹配,同时只需要筛选器数据,且不检查消息正文的内容时,请使用此方法。

匹配的 MessageFilter 对象的筛选器数据存储在 results 参数中。

如果由筛选器表中的筛选器来检查消息的正文,请缓冲该消息,然后将它传递到该方法的 GetMatchingValues 版本。

适用于

GetMatchingValues(MessageBuffer, ICollection<TFilterData>)

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

public:
 bool GetMatchingValues(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, System::Collections::Generic::ICollection<TFilterData> ^ results);
public:
 bool GetMatchingValues(System::ServiceModel::Channels::MessageBuffer ^ buffer, System::Collections::Generic::ICollection<TFilterData> ^ results);
public bool GetMatchingValues (System.ServiceModel.Channels.MessageBuffer messageBuffer, System.Collections.Generic.ICollection<TFilterData> results);
public bool GetMatchingValues (System.ServiceModel.Channels.MessageBuffer buffer, System.Collections.Generic.ICollection<TFilterData> results);
abstract member GetMatchingValues : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<'FilterData> -> bool
abstract member GetMatchingValues : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<'FilterData> -> bool
Public Function GetMatchingValues (messageBuffer As MessageBuffer, results As ICollection(Of TFilterData)) As Boolean
Public Function GetMatchingValues (buffer As MessageBuffer, results As ICollection(Of TFilterData)) As Boolean

参数

messageBufferbuffer
MessageBuffer

要测试的 MessageBuffer

results
ICollection<TFilterData>

在泛型 ICollection<T><FilterData> 中存储匹配筛选器的筛选数据的引用参数。

返回

Boolean

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

注解

当预期会有一个或多个筛选器与缓冲消息相匹配,且只需要筛选器数据,同时可能需要检查消息的正文时,请使用此方法。

匹配的 MessageFilter 对象的筛选器数据存储在 results 参数中。

适用于