Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Bendera fitur dapat menggunakan filter fitur untuk mengaktifkan fitur secara kondisional. Untuk informasi selengkapnya tentang filter fitur, lihat Mengaktifkan fitur kondisional dengan filter fitur.
Panduan ini menunjukkan kepada Anda cara menerapkan filter fitur kustom di aplikasi ASP.NET Core dan menggunakan filter fitur untuk mengaktifkan fitur secara kondisional.
Prasyarat
- Aplikasi ASP.NET Core dengan bendera fitur Beta yang Anda buat saat menyelesaikan langkah-langkah di Mulai Cepat: Menambahkan bendera fitur ke aplikasi ASP.NET Core. Panduan ini dibangun berdasarkan mulai cepat manajemen fitur tersebut.
- Filter fitur kustom yang disebut
Random, ditambahkan ke bendera fitur Beta di penyimpanan Azure App Configuration Anda. Untuk petunjuknya, lihat Menambahkan filter fitur kustom.
Menerapkan filter fitur kustom
Di penyimpanan App Configuration Anda, bendera fitur Beta memiliki filter fitur kustom bernama Random. Filter tersebut memiliki Percentage parameter . Untuk menerapkan filter fitur, Anda mengaktifkan bendera fitur Beta berdasarkan kemungkinan yang ditentukan oleh parameter Percentage.
Buka folder yang berisi proyek aplikasi ASP.NET Core dari panduan memulai cepat manajemen fitur yang tercantum dalam Prasyarat.
Tambahkan file RandomFilter.cs yang berisi kode berikut:
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); } } }Kelas
RandomFilterdalam kode sebelumnya mengimplementasikanIFeatureFilterantarmuka dariMicrosoft.FeatureManagementpustaka. AntarmukaIFeatureFiltermemiliki satu metode bernamaEvaluateAsync, yang dipanggil setiap kali bendera fitur dievaluasi. DiEvaluateAsync, filter fitur memungkinkan bendera fitur dengan mengembalikantrue.Dalam kode ini, kelas
RandomFilterdiberikanFilterAliasAttribute, yang memberikan filter Anda aliasRandom. Alias tersebut cocok dengan nama filter di bendera fitur Beta di App Configuration.Buka file Program.cs. Daftarkan
RandomFilterdengan menambahkan panggilan ke metodeAddFeatureFilter, seperti yang diperlihatkan dalam kode di bawah ini.// 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 // ... ...
Menerapkan filter fitur
Buat aplikasi Anda dengan menggunakan
dotnet buildperintah . Kemudian jalankan dengan menggunakandotnet run.Dalam output dari perintah
dotnet run, temukan URL yang digunakan aplikasi web untuk mendengarkan. Buka browser dan buka URL tersebut.Muat ulang peramban beberapa kali. Menu Beta terkadang muncul di halaman web, dan terkadang tidak. Bendera fitur Beta tidak diaktifkan dan dinonaktifkan secara manual. Variasi disebabkan oleh angka acak yang
RandomFilterdihasilkan implementasiEvaluateAsyncketika bendera fitur dievaluasi.
Langkah berikutnya
Untuk mengetahui selengkapnya tentang filter fitur bawaan, lanjutkan ke dokumen berikut:
Untuk ikhtisar fitur pada pustaka manajemen fitur .NET, silakan lanjut ke dokumen berikut.