Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Özellik bayrakları, özellikleri koşullu olarak etkinleştirmek için özellik filtrelerini kullanabilir. Özellik filtreleri hakkında daha fazla bilgi için bkz . Özellik filtreleri ile koşullu özellikleri etkinleştirme.
Bu kılavuz, ASP.NET Core uygulamasında özel özellik filtresi uygulamayı ve özellikleri koşullu olarak etkinleştirmek için özellik filtresini kullanmayı gösterir.
Önkoşullar
- Hızlı Başlangıç: ASP.NET Core uygulamasına özellik bayrakları ekleme adımlarını tamamladığınızda oluşturduğunuz Beta özellik bayrağına sahip ASP.NET Core uygulaması. Bu kılavuz, özellik yönetimi hızlı başlangıç kılavuzunu temel alır.
- Adlı özel özellik filtresi
Random, Azure Uygulama Yapılandırma deponuzda beta özellik bayrağına eklenir. Yönergeler için bkz. Özel özellik filtresi ekleme.
Özel özellik filtresi uygulama
Uygulama Yapılandırma deponuzda Beta özellik bayrağı, adlı özel bir özellik filtresine sahiptir. Bu filtrenin bir Percentage parametresi vardır. Özellik filtresini uygulamak için, parametresi tarafından tanımlanan şansa göre Beta özellik bayrağını Percentage etkinleştirirsiniz.
Önkoşullar'da listelenen özellik yönetimi hızlı başlangıcından ASP.NET Core uygulama projesini içeren klasöre gidin.
Aşağıdaki kodu içeren bir RandomFilter.cs dosyası ekleyin:
using Microsoft.FeatureManagement; namespace TestAppConfig { [FilterAlias("Random")] public class RandomFilter : IFeatureFilter { private readonly Random _random; public RandomFilter() { _random = new Random(); } public Task<bool> EvaluateAsync(FeatureFilterEvaluationContext context) { int percentage = context.Parameters.GetSection("Percentage").Get<int>(); int randomNumber = _random.Next(100); return Task.FromResult(randomNumber <= percentage); } } }Yukarıdaki kodda
RandomFilterkitaplığındanIFeatureFilterarabirimini uygulayanMicrosoft.FeatureManagementsınıfı bulunur. ArabirimIFeatureFilter, bir özellik bayrağı her değerlendirildiğinde çağrılan adlıEvaluateAsynctek bir yönteme sahiptir. içindeEvaluateAsync, bir özellik filtresi döndürerektrueözellik bayrağını etkinleştirir.Bu kodda,
RandomFiltersınıfıFilterAliasAttributeile dekore edilerek filtrenizeRandomtakma adını verir. Bu diğer ad, Uygulama Yapılandırması'ndaki Beta özellik bayrağındaki filtre adıyla eşleşir.Program.cs dosyasını açın. Belirtilen kodda gösterildiği gibi
RandomFilteryöntemine bir çağrı ekleyerekAddFeatureFilterkaydolun.// Existing code in Program.cs // ... ... // Add feature management to the container of services. builder.Services.AddFeatureManagement() .AddFeatureFilter<RandomFilter>(); // The rest of the existing code in Program.cs // ... ...
Özellik filtresini uygulama
komutunu kullanarak
dotnet builduygulamanızı oluşturun. Ardından komutunu kullanarakdotnet runçalıştırın.dotnet runkomutunun çıktısında, web uygulamasının dinlemekte olduğu bir URL bulun. Bir tarayıcı açın ve bu URL'ye gidin.Tarayıcıyı birkaç kez yenileyin. Beta menüsü bazen web sayfasında görünür, bazen görüntülenmez. Beta özellik bayrağı el ile açılıp kapatılmıyor. Varyasyon, özellik bayrağı değerlendirildiğinde uygulamasının
RandomFilterEvaluateAsyncoluşturduğu rastgele sayıdan kaynaklanır.
Sonraki adımlar
Yerleşik özellik filtreleri hakkında daha fazla bilgi edinmek için aşağıdaki belgelere geçin:
.NET özellik yönetimi kitaplığının tam özelliklerinin açıklaması için aşağıdaki belgeye devam edin.