Tutorial: Menggunakan konfigurasi dinamis di aplikasi .NET Framework

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 konfigurasi penembolokan dan penyegaran 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:

  • Menyiapkan aplikasi .NET Framework Anda untuk memperbarui konfigurasinya sebagai respons terhadap perubahan di penyimpanan Azure App Configuration.
  • Suntikkan konfigurasi terbaru dalam aplikasi Anda.

Prasyarat

Buat penyimpanan App Configuration

  1. Untuk membuat penyimpanan App Configuration baru, masuk ke portal Azure.

  2. Di sudut kiri atas halaman beranda, pilih Buat sumber daya.

  3. Di kotak Layanan pencarian dan marketplace, masukkan Konfigurasi Aplikasi dan pilih Enter.

    Cuplikan layar yang menampilkan halaman Pencarian untuk Azure App Configuration.

  4. Pilih App Configuration dari hasil pencarian, lalu pilih Buat.

    Cuplikan layar yang menampilkan halaman Buat.

  5. Pada panel Buat App Configuration, masukkan pengaturan berikut:

    Pengaturan Nilai yang disarankan Deskripsi
    Langganan Langganan Anda Pilih langganan Azure yang ingin Anda gunakan untuk menguji App Configuration. Jika akun Anda hanya memiliki satu langganan, langganan tersebut akan dipilih secara otomatis dan daftar Langganan tidak ditampilkan.
    Grup sumber daya Sumber Daya AppConfigTest Pilih atau buat grup sumber daya untuk sumber daya penyimpanan App Configuration Anda. Grup ini berguna untuk mengatur beberapa sumber daya yang mungkin ingin Anda hapus pada saat yang sama dengan menghapus grup sumber daya. Untuk mengetahui informasi selengkapnya, lihat Menggunakan grup sumber daya untuk mengelola sumber daya Azure Anda.
    Nama sumber daya Nama harus berbeda secara global Masukkan nama sumber daya berbeda yang akan digunakan untuk sumber daya penyimpanan App Configuration. Nama harus berupa untai antara 5 dan 50 karakter dan hanya berisi angka, huruf, dan karakter -. Nama tidak boleh diawali atau diakhiri dengan karakter -.
    Lokasi US Tengah Gunakan Lokasi untuk menentukan lokasi geografis tempat penyimpanan app configuration Anda dihosting. Untuk performa terbaik, buat sumber daya di wilayah yang sama dengan komponen lain dari aplikasi Anda.
    Tingkat harga Gratis Pilih tingkat harga yang diinginkan. Untuk informasi selengkapnya, lihat halaman harga App Configuration.
  6. Pilih Tinjau + buat untuk memvalidasi pengaturan Anda.

  7. Pilih Buat. Penyebaran mungkin perlu waktu beberapa menit.

  8. Setelah penyebaran selesai, buka sumber daya Azure App Configuration. Pilih Pengaturan>Kunci akses. Catat connection string kunci utama baca-saja. Anda akan menggunakan string koneksi ini nanti untuk mengonfigurasi aplikasi Anda untuk berkomunikasi dengan App Configuration store yang Anda buat.

  1. Pilih Penjelajah konfigurasi>+ Buat>Kunci-nilai untuk menambahkan kunci-nilai berikut:

    Kunci Nilai
    TestApp:Pengaturan:Pesan Data dari Azure App Configuration

    Biarkan Label dan Jenis Konten kosong.

Membuat aplikasi konsol .NET Framework

  1. Mulai Visual Studio dan pilih Buat proyek baru.

  2. Di Buat proyek baru, filter pada jenis proyek Konsol dan klik Aplikasi Konsol (.NET Framework) dengan C# dari daftar templae proyek. Tekan Berikutnya.

  3. 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

  1. 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

  2. Buka Program.cs dan tambahkan namespace layanan berikut.

    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    
  3. Tambahkan dua variabel untuk menyimpan objek terkait konfigurasi.

    private static IConfiguration _configuration;
    private static IConfigurationRefresher _refresher;
    
  4. Perbarui metode Main untuk menyambungkan ke Azure App Configuration dengan opsi refresh yang ditentukan.

    static void Main(string[] args)
    {
        var builder = new ConfigurationBuilder();
        builder.AddAzureAppConfiguration(options =>
        {
            options.Connect(Environment.GetEnvironmentVariable("ConnectionString"))
                    // Load all keys that start with `TestApp:`.
                    .Select("TestApp:*")
                    // Configure to reload the key 'TestApp:Settings:Message' if it is modified.
                    .ConfigureRefresh(refresh =>
                    {
                        refresh.Register("TestApp:Settings:Message")
                               .SetCacheExpiration(TimeSpan.FromSeconds(10));
                    });
    
            _refresher = options.GetRefresher();
        });
    
        _configuration = builder.Build();
        PrintMessage().Wait();
    }
    

    Dalam metode ConfigureRefresh, kunci dalam penyimpanan App Configuration Anda terdaftar untuk pemantauan perubahan. Metode Register memiliki parameter boolean opsional refreshAll yang dapat digunakan untuk menunjukkan apakah semua nilai konfigurasi harus di-refresh jika kunci terdaftar berubah. Dalam contoh ini, hanya kunci TestApp:Settings:Message yang akan di-refresh. Metode SetCacheExpiration ini 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.

  5. 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 ConfigureRefresh saja tidak akan menyebabkan konfigurasi di-refresh secara otomatis. Anda memanggil metode TryRefreshAsync dari antarmuka IConfigurationRefresher untuk memicu refresh. Desain ini ditujukan untuk menghindari permintaan phantom yang dikirim ke App Configuration bahkan saat aplikasi Anda tidak aktif. Anda dapat menyertakan panggilan TryRefreshAsync tempat aplikasi Anda kemungkinan akan aktif. Misalnya, saat Anda memproses pesan masuk, pesanan, atau pengulangan tugas yang kompleks. Panggilan juga dapat berada dalam timer jika aplikasi Anda aktif sepanjang waktu. Dalam contoh ini, Anda memanggil TryRefreshAsync saat menekan tombol Enter. Perhatikan bahwa, meskipun panggilan TryRefreshAsync gagal karena alasan apa pun, aplikasi Anda akan terus menggunakan konfigurasi yang di-cache. Upaya lain akan dilakukan bila waktu kedaluwarsa cache yang dikonfigurasi telah berlalu dan panggilan TryRefreshAsync dipicu oleh aktivitas aplikasi Anda lagi. Memanggil TryRefreshAsync tidak dapat dilakukan sebelum waktu kedaluwarsa cache yang dikonfigurasi berlalu, sehingga dampak performanya minimal, meskipun sering dipanggil.

Bangun dan jalankan aplikasi secara lokal

  1. Atur variabel lingkungan bernama ConnectionString ke string koneksi kunci baca-saja yang didapatkan saat pembuatan penyimpanan App Configuration.

    Jika Anda menggunakan perintah Windows, jalankan perintah berikut:

    setx ConnectionString "connection-string-of-your-app-configuration-store"
    

    Jika Anda menggunakan PowerShell Windows, jalankan perintah berikut:

    $Env:ConnectionString = "connection-string-of-your-app-configuration-store"
    
  2. Hidupkan ulang Visual Studio untuk mengizinkan perubahan diterapkan.

  3. Tekan Ctrl + F5 untuk membangun dan menjalankan aplikasi konsol.

    Peluncuran aplikasi lokal

  4. Di portal Microsoft Azure, navigasikan ke Penjelajah konfigurasi penyimpanan App Configuration, dan perbarui nilai kunci berikut.

    Kunci Nilai
    TestApp:Pengaturan:Pesan Data dari Azure App Configuration - Diperbarui
  5. Kembali ke aplikasi yang sedang berjalan, tekan tombol Enter untuk memicu penyegaran dan mencetak nilai yang diperbarui di jendela Perintah atau PowerShell.

    Refresh aplikasi lokal

    Catatan

    Karena waktu kedaluwarsa cache diatur ke 10 detik menggunakan metode SetCacheExpiration sambil menentukan konfigurasi untuk operasi penyegaran, nilai untuk pengaturan konfigurasi hanya akan diperbarui jika minimal 10 detik telah berlalu sejak penyegaran 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 dapat 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.

  1. Masuk ke portal Azure, lalu pilih Grup sumber daya.
  2. Dalam kotak Filter menurut nama, masukkan nama grup sumber daya Anda.
  3. Dalam daftar hasil, pilih nama grup sumber daya untuk melihat gambaran umum.
  4. Pilih Hapus grup sumber daya.
  5. 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 merefresh pengaturan konfigurasi dari Azure 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: