FilterContext.IsEffectivePolicy<TMetadata>(TMetadata) 方法

定义

返回一个值,该值指示所提供的 IFilterMetadata 是否是应用于与 关联的 FilterContext操作的最有效策略 (最具体的) 。

public:
generic <typename TMetadata>
 where TMetadata : Microsoft::AspNetCore::Mvc::Filters::IFilterMetadata bool IsEffectivePolicy(TMetadata policy);
public bool IsEffectivePolicy<TMetadata> (TMetadata policy) where TMetadata : Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata;
member this.IsEffectivePolicy : 'Metadata -> bool (requires 'Metadata :> Microsoft.AspNetCore.Mvc.Filters.IFilterMetadata)
Public Function IsEffectivePolicy(Of TMetadata As IFilterMetadata) (policy As TMetadata) As Boolean

类型参数

TMetadata

筛选策略的类型。

参数

policy
TMetadata

筛选器策略实例。

返回

true 如果提供的 IFilterMetadata 是最有效的策略,则为 ;否则为 false

注解

方法 IsEffectivePolicy<TMetadata>(TMetadata) 用于实现定义重写行为的筛选器的通用约定。 当多个筛选器可能应用于同一个横切关注点时,请为筛选器定义一个通用接口, TMetadata () 并实现筛选器,以便所有实现调用此方法来确定它们是否应采取措施。

例如,可以通过在操作方法上放置筛选器属性来重写全局筛选器。 直接应用于操作方法的策略可以视为更具体。

此替代机制依赖于筛选器系统提供的顺序和范围规则来控制筛选器的排序。 由筛选器的实现者共同实现此协议。 筛选器系统没有与生俱来的替代概念,这是建议的约定。

适用于