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.
Dalam mulai cepat ini, Anda menggabungkan kemampuan manajemen fitur dari Azure App Configuration ke dalam layanan latar belakang .NET. Anda menggunakan App Configuration untuk menyimpan dan mengelola bendera fitur Anda secara terpusat.
Prasyarat
Dukungan manajemen fitur memperluas fitur konfigurasi dinamis di App Configuration. Contoh dalam mulai cepat ini dibangun pada aplikasi layanan latar belakang .NET yang diperkenalkan dalam tutorial konfigurasi dinamis. Sebelum melanjutkan, selesaikan tutorial berikut untuk membuat aplikasi layanan latar belakang .NET dengan konfigurasi dinamis terlebih dahulu.
Menambahkan bendera fitur
Tambahkan bendera fitur yang disebut Beta ke penyimpanan App Configuration dan biarkan Label dan Deskripsi dengan nilai defaultnya. Untuk informasi selengkapnya tentang cara menambahkan bendera fitur ke penyimpanan menggunakan portal Azure atau CLI, buka Membuat bendera fitur.
Menggunakan bendera fitur
Tambahkan referensi ke
Microsoft.FeatureManagementpaket NuGet dengan menjalankan perintah berikut:dotnet add package Microsoft.FeatureManagementJalankan perintah berikut untuk memulihkan paket untuk proyek Anda:
dotnet restoreBuka Program.cs dan tambahkan pernyataan berikut:
using Microsoft.FeatureManagement;Tambahkan panggilan ke metode di
UseFeatureFlagsdalamAddAzureAppConfigurationlayanan manajemen fitur panggilan dan daftarkan.// Existing code in Program.cs // ... ... builder.Configuration.AddAzureAppConfiguration(options => { string endpoint = Environment.GetEnvironmentVariable("Endpoint"); options.Connect(new Uri(endpoint), new DefaultAzureCredential()); // Use feature flags options.UseFeatureFlags(); // Register the refresher so that the Worker service can consume it through dependency injection builder.Services.AddSingleton(options.GetRefresher()); }); // Register feature management services builder.Services.AddFeatureManagement(); // The rest of existing code in Program.cs // ... ...Tip
Ketika tidak ada parameter yang diteruskan ke metode , parameter memuat
UseFeatureFlagssemua bendera fitur tanpa label di penyimpanan App Configuration Anda. Interval refresh default bendera fitur adalah 30 detik. Anda dapat menyesuaikan perilaku ini melaluiFeatureFlagOptionsparameter . Misalnya, cuplikan kode berikut hanya memuat bendera fitur yang dimulai dengan TestApp: dalam nama kuncinya dan memiliki dev label. Kode juga mengubah waktu interval refresh menjadi 5 menit. Perhatikan bahwa waktu interval refresh ini terpisah dari itu untuk nilai kunci reguler.options.UseFeatureFlags(featureFlagOptions => { featureFlagOptions.Select("TestApp:*", "dev"); featureFlagOptions.CacheExpirationInterval = TimeSpan.FromMinutes(5); });Buka Worker.cs dan tambahkan pernyataan berikut:
using Microsoft.FeatureManagement;Perbarui konstruktor
Workerlayanan untuk mendapatkan instansIConfigurationRefresherdanIVariantFeatureManagermelalui injeksi dependensi.public class Worker : BackgroundService { private readonly ILogger<Worker> _logger; private readonly IConfigurationRefresher _refresher; private readonly IVariantFeatureManager _featureManager; public Worker(ILogger<Worker> logger, IConfigurationRefresher refresher, IVariantFeatureManager featureManager) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _refresher = refresher ?? throw new ArgumentNullException(nameof(refresher)); _featureManager = featureManager ?? throw new ArgumentNullException(nameof(featureManager)); } // ... ... }ExecuteAsyncPerbarui metode untuk mencatat pesan tergantung pada status bendera fitur.Metode
TryRefreshAsyncini dipanggil di awal setiap iterasi eksekusi tugas untuk me-refresh bendera fitur. Ini akan menjadi no-op jika jendela waktu interval refresh tidak tercapai. Operatorawaittidak digunakan sehingga bendera fitur disegarkan tanpa memblokir iterasi eksekusi tugas saat ini. Dalam hal ini, perulangan eksekusi tugas nanti akan mendapatkan nilai yang diperbarui.protected override async Task ExecuteAsync(CancellationToken stoppingToken) { while (!stoppingToken.IsCancellationRequested) { // Intentionally not await TryRefreshAsync to avoid blocking the execution. _refresher.TryRefreshAsync(stoppingToken); if (_logger.IsEnabled(LogLevel.Information)) { if (await _featureManager.IsEnabledAsync("Beta")) { _logger.LogInformation("[{time}]: Worker is running with Beta feature.", DateTimeOffset.Now); } else { _logger.LogInformation("[{time}]: Worker is running.", DateTimeOffset.Now); } } await Task.Delay(TimeSpan.FromSeconds(30), stoppingToken); } }
Membangun dan menjalankan aplikasi secara lokal
Jalankan perintah berikut untuk membuat gambar:
dotnet buildSetelah pembangunan berhasil diselesaikan, jalankan perintah berikut untuk menjalankan aplikasi secara lokal:
dotnet runAnda akan melihat output berikut di konsol.
Masuk ke portal Azure. Pilih Semua sumber daya, dan pilih penyimpanan App Configuration yang Anda buat sebelumnya.
Pilih Pengelola fitur dan temukan bendera fitur Beta . Aktifkan bendera dengan memilih kotak centang di bawah Diaktifkan.
Tunggu beberapa saat agar jendela waktu interval refresh berlalu. Anda akan melihat pesan log yang diperbarui.
Membersihkan sumber daya
Jika Anda tidak ingin terus menggunakan sumber daya yang dibuat dalam artikel ini, hapus grup sumber daya yang Anda buat di sini untuk menghindari biaya.
Penting
Penghapusan grup sumber daya tidak bisa dipulihkan. Grup sumber daya dan semua sumber daya yang ada di dalamnya akan dihapus secara permanen. Pastikan Anda tidak menghapus grup atau sumber daya yang salah secara tidak sengaja. Jika Anda membuat sumber daya untuk artikel ini dalam grup sumber daya yang ada yang berisi sumber daya lain yang ingin disimpan, hapus setiap sumber daya satu per satu dari panelnya masing-masing, bukan menghapus grup sumber daya.
- Masuk ke portal Azure, lalu pilih Grup sumber daya.
- Dalam kotak Filter menurut nama, masukkan nama grup sumber daya Anda.
- Dalam daftar hasil, pilih nama grup sumber daya untuk melihat gambaran umum.
- Pilih Hapus grup sumber daya.
- Anda akan diminta untuk mengonfirmasi penghapusan grup sumber daya. Masukkan nama grup sumber daya Anda untuk mengonfirmasi, dan pilih Hapus.
Setelah beberapa saat, grup sumber daya dan semua sumber dayanya akan dihapus.
Langkah berikutnya
Dalam mulai cepat ini, Anda membuat bendera fitur dan menggunakannya dengan layanan latar belakang.
Untuk mengaktifkan kemampuan manajemen fitur untuk jenis aplikasi lain, lanjutkan ke tutorial berikut.
Untuk mempelajari selengkapnya tentang mengelola bendera fitur di Azure App Configuration, lanjutkan ke tutorial berikut.
Untuk rundown fitur lengkap pustaka manajemen fitur .NET, lanjutkan ke dokumen berikut.