IMessageFilterTable<TFilterData>.GetMatchingFilters 方法

定义

将指定的消息或缓冲消息满足其查询条件的筛选器添加到集合。

重载

GetMatchingFilters(Message, ICollection<MessageFilter>)

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

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

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

注解

当预期会有多个筛选器与消息相匹配,并且需要匹配筛选器时,请使用这些方法之一。 注意,请不要在添加结果之前清除包含这些筛选器的集合。 这样您就可以将多个筛选器表中所有匹配项累积添加到单个集合中。

如果必须由筛选器表中的筛选器来检查消息的正文,请缓冲该消息,然后将它传递到 GetMatchingFilters 方法。 否则使用 GetMatchingFilters

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

GetMatchingFilters(Message, ICollection<MessageFilter>)

Source:
IMessageFilterTable.cs
Source:
IMessageFilterTable.cs

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

public:
 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
Public Function GetMatchingFilters (message As Message, results As ICollection(Of MessageFilter)) As Boolean

参数

message
Message

要测试的 Message

results
ICollection<MessageFilter>

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

返回

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

注解

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

实施者说明

此版本使用 Message,如果它试图检查消息正文,则必须引发 InvalidBodyAccessException

适用于

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Source:
IMessageFilterTable.cs
Source:
IMessageFilterTable.cs

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

public:
 bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.MessageBuffer messageBuffer, 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
Public Function GetMatchingFilters (messageBuffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean

参数

messageBuffer
MessageBuffer

要测试的 MessageBuffer

results
ICollection<MessageFilter>

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

返回

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

注解

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

适用于