MessageFilterTable<TFilterData>.GetMatchingFilters 方法

定义

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

重载

GetMatchingFilters(Message, ICollection<MessageFilter>)

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

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

返回一个值,该值指示指定的缓冲消息是否满足表中至少一个筛选器的匹配条件,然后将最高优先级筛选器组(其中至少存在一个匹配项)中的匹配筛选器添加到集合。

注解

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

GetMatchingFilters(Message, ICollection<MessageFilter>)

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

public:
 virtual bool GetMatchingFilters(System::ServiceModel::Channels::Message ^ message, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.Message message, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
abstract member GetMatchingFilters : System.ServiceModel.Channels.Message * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
override this.GetMatchingFilters : System.ServiceModel.Channels.Message * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (message As Message, results As ICollection(Of MessageFilter)) As Boolean

参数

message
Message

要测试的 Message

results
ICollection<MessageFilter>

存储 ICollection<T><Filter> 中匹配的 MessageFilter 对象的引用参数。

返回

Boolean

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

实现

例外

resultsnull

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

注解

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

此方法可测试筛选器的最高优先级存储桶(其中至少存在一个匹配项)中的所有匹配筛选器。

不允许表中的筛选器检查消息正文。

匹配的 MessageFilter 对象存储在 resultsICollection<T> 参数中。 然后,可以使用这些筛选器作为键,通过 FilterData 提供的方法从筛选器表恢复 IDictionary<TKey,TValue>

此方法实现 GetMatchingFilters

适用于

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

返回一个值,该值指示指定的缓冲消息是否满足表中至少一个筛选器的匹配条件,然后将最高优先级筛选器组(其中至少存在一个匹配项)中的匹配筛选器添加到集合。

public:
 virtual bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ buffer, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.MessageBuffer buffer, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
abstract member GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
override this.GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (buffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean

参数

buffer
MessageBuffer

要测试的 MessageBuffer

results
ICollection<MessageFilter>

存储 ICollection<T><Filter> 中匹配的 MessageFilter 对象的引用参数。

返回

Boolean

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

实现

例外

resultsnull

注解

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

允许表中的筛选器检查消息正文。

匹配的 MessageFilter 对象存储在 resultsICollection<T> 参数中。 然后,可以使用这些筛选器作为键,通过 FilterData 提供的方法从筛选器表恢复 IDictionary<TKey,TValue>

此方法实现 GetMatchingFilters

适用于