Latihan - Menerapkan pengaturan konfigurasi di instans Azure App Configuration
Persyaratan baru untuk aplikasi sekarang mensyaratkan penggunaan flag fitur untuk mengontrol diskon produk. Latihan ini menunjukkan kepada Anda cara melakukannya.
- Tambahkan pengaturan konfigurasi ke instans Azure App Configuration.
- Tambahkan kode untuk menggunakan pengaturan baru untuk diskon harga produk.
- Buat dan uji aplikasi.
Tambahkan setelan konfigurasi ke penyimpanan App Configuration
Di Azure App Configuration, sekarang buat pasangan kunci-nilai baru untuk menyimpan persentase diskon penjualan. Selesaikan langkah-langkah berikut:
- Di tab browser lain, masuk ke portal Microsoft Azure dengan akun dan direktori yang sama dengan Azure CLI.
- Gunakan kotak pencarian untuk menemukan dan membuka sumber daya App Configuration yang diawali dengan eshop-app-features.
- Di bagian Operasi, pilih Penjelajah konfigurasi.
- Di menu atas, pilih + Buat dan pilih Nilai kunci.
- Masukkan eShopLite__Store__DiscountPercentke dalam kotak teks Kunci .
- Dalam kotak teks Nilai , masukkan 0,8.
- Pilih Terapkan.
Menambahkan kode untuk menggunakan pengaturan konfigurasi baru
Halaman produk perlu diperbarui untuk menggunakan pengaturan konfigurasi baru. Selesaikan langkah-langkah berikut:
Di Visual Studio Code, buka file Store/Components/Pages/Products.razor.
Di bagian @code, tambahkan variabel berikut untuk menyimpan status bendera fitur:
private decimal discountPercentage;Dalam metode OnInitializedAsync, tambahkan kode berikut untuk mengambil nilai pengaturan konfigurasi:
if (saleOn) { discountPercentage = Convert.ToDecimal(Configuration.GetSection("eShopLite__Store__DiscountPercent").Value); }Metode ini sekarang akan terlihat seperti kode berikut:
protected override async Task OnInitializedAsync() { saleOn = await FeatureManager.IsEnabledAsync("SeasonalDiscount"); // Simulate asynchronous loading to demonstrate streaming rendering products = await ProductService.GetProducts(); if (saleOn) { discountPercentage = Convert.ToDecimal(Configuration.GetSection("eShopLite__Store__DiscountPercent").Value); } }Kode di atas menggunakan objek Konfigurasi untuk mengambil nilai pengaturan konfigurasi. Nilai disimpan dalam variabel
discountPercentagesebagai desimal.
Menampilkan harga diskon
Halaman produk perlu diperbarui untuk menampilkan harga diskon. Selesaikan langkah-langkah berikut:
Ganti
<td>@product.Price</td>dengan kode ini:<td> @if (saleOn) { <strike>@(product.Price)</strike><br> @((product.Price * discountPercentage).ToString("#.##")) } else { @product.Price } </td>Kode di atas memeriksa apakah penjualan musiman diaktifkan. Jika diaktifkan, harga awal ditampilkan dengan coretan dan harga diskon ditampilkan di bawahnya. Jika penjualan musiman tidak diaktifkan, harga asli ditampilkan.
Membangun aplikasi
Pastikan Anda telah menyimpan semua perubahan, dan berada di direktori dotnet-feature-flags. Di terminal, jalankan perintah berikut:
dotnet publish /p:PublishProfile=DefaultContainerJalankan aplikasi menggunakan docker:
docker compose up
Menguji fitur diskon harga
Untuk memverifikasi bendera fitur berfungsi seperti yang diharapkan di codespace, selesaikan langkah-langkah berikut:
- Beralih ke tab PORT, lalu di sebelah kanan alamat lokal untuk port Front End , pilih ikon bola dunia. Browser membuka tab baru di beranda.
- Pilih Produk.
Jika Anda menggunakan Visual Studio Code secara lokal, buka http://localhost:32000/products.
Untuk menguji bendera fitur yang mengontrol penjualan musiman, selesaikan langkah-langkah berikut:
Di portal Microsoft Azure, navigasikan ke sumber daya Azure App Configuration yang diawali dengan eshop-app-features.
Di bagian Operasi, pilih Pengelola fitur.
Pilih saklar SeasonalDiscount untuk menonaktifkan fitur ini.
Di browser Anda, kembali ke aplikasi.
Pilih halaman Beranda , lalu halaman Produk .
Dibutuhkan waktu hingga 30 detik agar cache dibersihkan. Jika banner penjualan masih ditampilkan, tunggu beberapa detik dan refresh halaman lagi.