FilterContext.IsEffectivePolicy<TMetadata>(TMetadata) Método

Definición

Devuelve un valor que indica si el proporcionado IFilterMetadata es la directiva más eficaz (más específica) aplicada a la acción asociada a 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

Parámetros de tipo

TMetadata

Tipo de la directiva de filtro.

Parámetros

policy
TMetadata

Instancia de directiva de filtro.

Devoluciones

true es si el proporcionado IFilterMetadata es la directiva más eficaz; de lo contrario false, es .

Comentarios

El IsEffectivePolicy<TMetadata>(TMetadata) método se usa para implementar una convención común para los filtros que definen un comportamiento de invalidación. Cuando se pueden aplicar varios filtros a la misma preocupación transversal, defina una interfaz común para los filtros (TMetadata) e implemente los filtros de forma que todas las implementaciones llamen a este método para determinar si deben tomar medidas.

Por ejemplo, un filtro global se puede invalidar colocando un atributo de filtro en un método de acción. La directiva aplicada directamente al método de acción podría considerarse más específica.

Este mecanismo para invalidar se basa en las reglas de orden y ámbito que proporciona el sistema de filtros para controlar el orden de los filtros. Es el implementador de filtros para implementar este protocolo de forma cooperativa. El sistema de filtros no tiene ninguna noción innata de invalidaciones, se trata de una convención recomendada.

Se aplica a