Bagikan melalui


FilterContext.IsEffectivePolicy<TMetadata>(TMetadata) Metode

Definisi

Mengembalikan nilai yang menunjukkan apakah yang disediakan IFilterMetadata adalah kebijakan yang paling efektif (paling spesifik) yang diterapkan pada tindakan yang FilterContextterkait dengan .

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

Jenis parameter

TMetadata

Jenis kebijakan filter.

Parameter

policy
TMetadata

Instans kebijakan filter.

Mengembalikan

true jika yang disediakan IFilterMetadata adalah kebijakan yang paling efektif, jika tidak false.

Keterangan

Metode IsEffectivePolicy<TMetadata>(TMetadata) ini digunakan untuk menerapkan konvensi umum untuk filter yang menentukan perilaku penimpaan. Ketika beberapa filter dapat berlaku untuk masalah pemotongan silang yang sama, tentukan antarmuka umum untuk filter (TMetadata) dan terapkan filter sehingga semua implementasi memanggil metode ini untuk menentukan apakah mereka harus mengambil tindakan.

Misalnya, filter global mungkin diganti dengan menempatkan atribut filter pada metode tindakan. Kebijakan yang diterapkan langsung ke metode tindakan dapat dianggap lebih spesifik.

Mekanisme untuk mengambil alih bergantung pada aturan urutan dan cakupan yang disediakan sistem filter untuk mengontrol urutan filter. Terserah kepada pelaksana filter untuk menerapkan protokol ini secara kooperatif. Sistem filter tidak memiliki gagasan bawaan tentang penimpaan, ini adalah konvensi yang direkomendasikan.

Berlaku untuk