IMessageFilterTable<TFilterData>.GetMatchingFilters 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将指定的消息或缓冲消息满足其查询条件的筛选器添加到集合。
重载
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
参数
- 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
。
注解
当预期会有多个筛选器与缓冲消息相匹配,同时需要匹配筛选器,且可能必须检查消息的正文,请使用此方法。