Udostępnij za pośrednictwem


FilterContext.IsEffectivePolicy<TMetadata>(TMetadata) Metoda

Definicja

Zwraca wartość wskazującą, czy podana IFilterMetadata wartość jest najbardziej skutecznymi zasadami (najbardziej specyficznymi) zastosowanymi do akcji skojarzonej z .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 zasad filtru.

Parametry

policy
TMetadata

Wystąpienie zasad filtrowania.

Zwraca

true jeśli podane IFilterMetadata zasady są najbardziej skuteczne, w przeciwnym razie false.

Uwagi

Metoda IsEffectivePolicy<TMetadata>(TMetadata) jest używana do implementowania wspólnej konwencji dla filtrów, które definiują przesłonięć zachowanie. Jeśli wiele filtrów może mieć zastosowanie do tego samego problemu krzyżowego, zdefiniuj wspólny interfejs filtrów (TMetadata) i zaimplementuj filtry tak, aby wszystkie implementacje wywołały tę metodę, aby określić, czy należy podjąć działania.

Na przykład filtr globalny może zostać zastąpiony przez umieszczenie atrybutu filtru w metodzie akcji. Zasady zastosowane bezpośrednio do metody akcji można uznać za bardziej szczegółowe.

Ten mechanizm zastępowania opiera się na regułach kolejności i zakresie, które system filtrów zapewnia do kontrolowania kolejności filtrów. To do implementatora filtrów, aby wdrożyć ten protokół kooperacyjnie. System filtrów nie ma wrodzonego pojęcia przesłonięć. Jest to zalecana konwencja.

Dotyczy