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.
Data dari App Configuration dapat dimuat sebagai Pengaturan Aplikasi di aplikasi .NET Framework. Untuk informasi selengkapnya, lihat Mulai Cepat. Namun, seperti yang dirancang oleh .NET Framework, Pengaturan App hanya dapat disegarkan saat memulai ulang aplikasi. Penyedia .NET App Configuration adalah pustaka Standar .NET. Ini mendukung cache dan pembaruan konfigurasi secara dinamis tanpa memulai ulang aplikasi. Tutorial ini menunjukkan cara menerapkan pembaruan konfigurasi dinamis dalam aplikasi konsol .NET Framework.
Dalam tutorial ini, Anda akan mempelajari cara:
- Atur aplikasi .NET Framework Anda untuk memperbarui konfigurasinya sebagai tanggapan terhadap perubahan di dalam penyimpanan konfigurasi aplikasi.
- Suntikkan konfigurasi terbaru dalam aplikasi Anda.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun gratis.
- Penyimpanan App Configuration, seperti yang ditunjukkan dalam tutorial untuk membuat penyimpanan.
- Visual Studio
- .NET Framework 4.7.2 atau yang lebih baru
Menambahkan nilai kunci
Tambahkan nilai kunci berikut ke penyimpanan App Configuration dan biarkan Label dan Tipe Konten dengan nilai defaultnya. Untuk informasi selengkapnya tentang cara menambahkan nilai kunci ke penyimpanan menggunakan portal Azure atau CLI, buka Membuat nilai kunci.
| Kunci | Nilai |
|---|---|
| TestApp:Settings:Message | Data dari Azure App Configuration |
Membuat aplikasi konsol .NET Framework
Mulai Visual Studio dan pilih Buat proyek baru.
Di Buat proyek baru, filter pada jenis proyek Konsol dan klik Aplikasi Konsol (.NET Framework) dengan C# dari daftar templae proyek. Tekan Berikutnya.
Di Konfigurasikan proyek baru Anda, masukkan nama proyek. Dalam Kerangka Kerja, pilih .NET Framework 4.7.2 atau yang lebih baru. Tekan Buat.
Memuat ulang data dari Azure App Configuration
Klik kanan proyek Anda dan pilih Kelola Paket NuGet. Pada tab Telusuri, cari dan tambahkan paket NuGet versi terbaru berikut ke proyek Anda.
- Microsoft.Extensions.Configuration.AzureAppConfiguration
- Azure.Identity
Buka Program.cs dan tambahkan namespace layanan berikut.
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.AzureAppConfiguration; using Azure.Identity;Tambahkan dua variabel untuk menyimpan objek terkait konfigurasi.
private static IConfiguration _configuration; private static IConfigurationRefresher _refresher;Perbarui metode
Mainuntuk menyambungkan ke App Configuration dengan opsi penyegaran yang ditentukan. Sambungkan ke App Configuration menggunakan ID Microsoft Entra (disarankan), atau string koneksi.Anda menggunakan
DefaultAzureCredentialuntuk mengautentikasi ke toko Konfigurasi Aplikasi Anda. Ikuti instruksi untuk menetapkan kredensial Anda ke dalam peran Pembaca Data App Configuration. Pastikan untuk mengizinkan waktu yang memadai agar izin disebarluaskan sebelum menjalankan aplikasi Anda.// Existing code in Program.cs // ... ... static void Main(string[] args) { var builder = new ConfigurationBuilder(); builder.AddAzureAppConfiguration(options => { string endpoint = Environment.GetEnvironmentVariable("Endpoint"); options.Connect(new Uri(endpoint), new DefaultAzureCredential()) // Load all keys that start with `TestApp:` and have no label. .Select("TestApp:*") // Reload configuration if any selected key-values have changed. .ConfigureRefresh(refresh => { refresh.RegisterAll() .SetRefreshInterval(TimeSpan.FromSeconds(10)); }); _refresher = options.GetRefresher(); }); _configuration = builder.Build(); PrintMessage().Wait(); } // The rest of existing code in Program.cs // ... ...Di dalam metode
ConfigureRefresh, Anda memanggil metodeRegisterAlluntuk menginstruksikan penyedia App Configuration agar memuat ulang seluruh konfigurasi setiap kali mendeteksi perubahan pada salah satu nilai kunci yang dipilih (yang dimulai dengan TestApp: dan tidak memiliki label). Untuk informasi selengkapnya tentang memantau perubahan konfigurasi, lihat Praktik terbaik untuk refresh konfigurasi.Metode
SetRefreshIntervalini menentukan waktu minimum yang harus berlalu sebelum permintaan baru dibuat ke App Configuration untuk memeriksa perubahan konfigurasi apa pun. Dalam contoh ini, Anda mengganti waktu kedaluwarsa default 30 detik, dengan menetapkan waktu 10 detik sebagai gantinya untuk tujuan demonstrasi.Tambahkan metode yang disebut
PrintMessage()yang memicu penyegaran data konfigurasi dari App Configuration.private static async Task PrintMessage() { Console.WriteLine(_configuration["TestApp:Settings:Message"] ?? "Hello world!"); // Wait for the user to press Enter Console.ReadLine(); await _refresher.TryRefreshAsync(); Console.WriteLine(_configuration["TestApp:Settings:Message"] ?? "Hello world!"); }Memanggil metode
ConfigureRefreshsaja tidak akan menyebabkan konfigurasi di-refresh secara otomatis. Anda memanggil metodeTryRefreshAsyncdari antarmukaIConfigurationRefresheruntuk memicu refresh. Desain ini untuk menghindari permintaan yang dikirim ke App Configuration bahkan ketika aplikasi Anda menganggur. Anda dapat menyertakan panggilanTryRefreshAsyncdi mana Anda menganggap aplikasi Anda aktif. Misalnya, saat Anda memproses pesan masuk, pesanan, atau pengulangan tugas yang kompleks. Ini juga dapat menggunakan pengatur waktu jika aplikasi Anda selalu aktif. Dalam contoh ini, Anda memanggilTryRefreshAsyncsaat menekan tombol Enter. Perhatikan bahwa, meskipun panggilanTryRefreshAsyncgagal karena alasan apa pun, aplikasi Anda akan terus menggunakan konfigurasi yang di-cache. Upaya lain akan dilakukan ketika interval penyegaran yang telah dikonfigurasi telah berlalu dan pemanggilanTryRefreshAsyncdipicu oleh aktivitas aplikasi Anda sekali lagi. MemanggilTryRefreshAsynctidak memiliki efek sebelum interval penyegaran yang dikonfigurasi selesai, sehingga dampak terhadap performa minimal, bahkan jika sering dilakukan.
Membangun dan menjalankan aplikasi secara lokal
Atur variabel lingkungan.
Atur variabel lingkungan bernama
Endpointke titik akhir penyimpanan App Configuration Anda yang ditemukan di bawah Gambaran Umum penyimpanan Anda di portal Microsoft Azure.Jika Anda menggunakan perintah Windows, jalankan perintah berikut dan hidupkan ulang perintah untuk memungkinkan perubahan berlaku:
setx Endpoint "<endpoint-of-your-app-configuration-store>"Jika Anda menggunakan PowerShell, jalankan perintah berikut:
$Env:Endpoint = "<endpoint-of-your-app-configuration-store>"Jika Anda menggunakan macOS atau Linux, jalankan perintah berikut:
export Endpoint='<endpoint-of-your-app-configuration-store>'Hidupkan ulang Visual Studio untuk mengizinkan perubahan diterapkan.
Tekan Ctrl + F5 untuk membangun dan menjalankan aplikasi konsol.
Di portal Microsoft Azure, buka Penjelajah Konfigurasi Konfigurasi Aplikasi Anda, dan perbarui nilai kunci berikut.
Kunci Nilai TestApp:Settings:Message Data dari Konfigurasi Aplikasi Azure - Diperbarui Kembali ke aplikasi yang sedang berjalan, tekan tombol Enter untuk memicu penyegaran dan mencetak nilai yang diperbarui di jendela Perintah atau PowerShell.
Catatan
Karena interval refresh diatur ke 10 detik menggunakan
SetRefreshIntervalmetode saat menentukan konfigurasi untuk operasi refresh, nilai untuk pengaturan konfigurasi hanya akan diperbarui jika setidaknya 10 detik telah berlalu sejak refresh terakhir untuk pengaturan tersebut.
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 tutorial ini, Anda mengaktifkan aplikasi .NET Framework Anda untuk secara dinamis memperbarui pengaturan konfigurasi dari App Configuration. Untuk mempelajari cara mengaktifkan konfigurasi dinamis dalam Aplikasi Web ASP.NET (.NET Framework), lanjutkan ke tutorial berikutnya:
Untuk mempelajari cara menggunakan identitas terkelola Azure guna mempermudah akses ke App Configuration, lanjutkan ke tutorial berikutnya: