Share via


FilterContext.IsEffectivePolicy<TMetadata>(TMetadata) Metoda

Definice

Vrátí hodnotu označující, jestli je zadaná IFilterMetadata zásada nejúčinnější (nejkonkrétnější) použitá na akci přidruženou k 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

Parametry typu

TMetadata

Typ zásad filtru.

Parametry

policy
TMetadata

Instance zásad filtru.

Návraty

true pokud je poskytnutá IFilterMetadata zásada nejúčinnější, jinak false.

Poznámky

Metoda IsEffectivePolicy<TMetadata>(TMetadata) se používá k implementaci běžné konvence pro filtry, které definují chování přepsání. Pokud více filtrů může použít pro stejný křížový problém, definujte společné rozhraní pro filtry (TMetadata) a implementujte filtry tak, aby všechny implementace volal tuto metodu k určení, zda by měly provést akci.

Globální filtr může být například přepsán umístěním atributu filtru na metodu akce. Zásady použité přímo na metodu akce je možné považovat za konkrétnější.

Tento mechanismus přepsání závisí na pravidlech pořadí a rozsahu, které systém filtrů poskytuje pro řízení řazení filtrů. Je na implementátoru filtrů, aby tento protokol implementovali ve spolupráci. Systém filtrů nemá žádnou vnotenou představu o přepsání, jedná se o doporučenou konvenci.

Platí pro