Compartilhar via


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

Definição

Retorna um valor que indica se o fornecido IFilterMetadata é a política mais eficaz (mais específica) aplicada à ação associada ao 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

O tipo da política de filtro.

Parâmetros

policy
TMetadata

A instância de política de filtro.

Retornos

true se o fornecido IFilterMetadata for a política mais eficaz, caso contrário false, .

Comentários

O IsEffectivePolicy<TMetadata>(TMetadata) método é usado para implementar uma convenção comum para filtros que definem um comportamento de substituição. Quando vários filtros podem se aplicar à mesma preocupação de corte cruzado, defina uma interface comum para os filtros (TMetadata) e implemente os filtros de modo que todas as implementações chamem esse método para determinar se devem tomar medidas.

Por exemplo, um filtro global pode ser substituído colocando um atributo de filtro em um método de ação. A política aplicada diretamente ao método de ação pode ser considerada mais específica.

Esse mecanismo para substituir depende das regras de ordem e escopo que o sistema de filtro fornece para controlar a ordenação de filtros. Cabe ao implementador de filtros implementar esse protocolo de forma cooperativa. O sistema de filtro não tem nenhuma noção inata de substituições, essa é uma convenção recomendada.

Aplica-se a