FilterContext.IsEffectivePolicy<TMetadata>(TMetadata) Metodo

Definizione

Restituisce un valore che indica se il criterio specificato IFilterMetadata è il criterio più efficace (più specifico) applicato all'azione associata FilterContexta .

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

Parametri di tipo

TMetadata

Tipo di criterio di filtro.

Parametri

policy
TMetadata

Istanza dei criteri di filtro.

Restituisce

true se l'oggetto fornito IFilterMetadata è il criterio più efficace, in caso contrario false.

Commenti

Il IsEffectivePolicy<TMetadata>(TMetadata) metodo viene usato per implementare una convenzione comune per i filtri che definiscono un comportamento di override. Quando più filtri possono essere applicati allo stesso problema incrociato, definire un'interfaccia comune per i filtri (TMetadata) e implementare i filtri in modo che tutte le implementazioni chiamino questo metodo per determinare se devono eseguire azioni.

Ad esempio, un filtro globale potrebbe essere sottoposto a override inserendo un attributo di filtro in un metodo di azione. Il criterio applicato direttamente al metodo di azione potrebbe essere considerato più specifico.

Questo meccanismo per l'override si basa sulle regole dell'ordine e dell'ambito fornito dal sistema di filtro per controllare l'ordinamento dei filtri. Si tratta dell'implementazione di filtri per implementare questo protocollo in modo cooperativo. Il sistema di filtro non ha alcuna nozione innata di override, si tratta di una convenzione consigliata.

Si applica a