Gyakorlat – Konfigurációs beállítások implementálása Azure-alkalmazás konfigurációs példányban
Az alkalmazás új követelménye most azt mondja, hogy egy funkciójelző szabályozni lehessen egy termék kedvezményét. Ez a gyakorlat bemutatja, hogyan teheti ezt meg.
- Adjon hozzá egy konfigurációs beállítást a Azure-alkalmazás konfigurációs példányhoz.
- Adjon hozzá kódot az új beállítás használatához a termékárak kedvezményéhez.
- Az alkalmazás létrehozása és tesztelése.
A konfigurációs beállítás hozzáadása az Alkalmazáskonfigurációs áruházhoz
A Azure-alkalmazás Konfigurációban most hozzon létre egy új kulcs-érték párot az értékesítési kedvezmény százalékos arányának tárolásához. Végezze el a következő lépéseket:
- Egy másik böngészőlapon jelentkezzen be az Azure Portalra ugyanazzal a fiókkal és címtárral, mint az Azure CLI.
- A keresőmezővel megkeresheti és megnyithatja az alkalmazáskonfigurációs erőforrás előtagját eshop-app-features.
- Az Operations (Műveletek) szakaszban válassza a Configuration Explorer (Konfigurációkezelő) lehetőséget.
- A felső menüben válassza a +Létrehozás és a Kulcs-érték lehetőséget.
- A Kulcs szövegmezőbe írja be a eShopLite__Store__DiscountPercent.
- Az Érték szövegmezőbe írja be a 0,8 értéket.
- Válassza az Alkalmazás lehetőséget.
Kód hozzáadása az új konfigurációs beállítás használatához
A termékoldalt frissíteni kell az új konfigurációs beállítás használatához. Végezze el a következő lépéseket:
Nyissa meg a fájlt a Visual Studio Code-ban Store/Components/Pages/Products.razor .
@code A szakaszban adja hozzá a következő változót a funkciójelző állapotának tárolásához:
private decimal discountPercentage;
A metódusban OnInitializedAsync adja hozzá a következő kódot a konfigurációs beállítás értékének lekéréséhez:
if (saleOn) { discountPercentage = Convert.ToDecimal(Configuration.GetSection("eShopLite__Store__DiscountPercent").Value); }
A metódusnak most a következő kódhoz hasonlóan kell kinéznie:
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); } }
A fenti kód a Konfiguráció objektummal kéri le a konfigurációs beállítás értékét. Az érték a változóban
discountPercentage
decimális értékként van tárolva.
A kedvezményes árak megjelenítése
A termékoldalt frissíteni kell a kedvezményes árak megjelenítéséhez. Végezze el a következő lépéseket:
Cserélje le
<td>@product.Price</td>
a következő kódra:<td> @if (saleOn) { <strike>@(product.Price)</strike><br> @((product.Price * discountPercentage).ToString("#.##")) } else { @product.Price } </td>
A fenti kód ellenőrzi, hogy engedélyezve van-e a szezonális értékesítés. Ha engedélyezve van, az eredeti ár áthúzással jelenik meg, alatta pedig a kedvezményes ár jelenik meg. Ha a szezonális értékesítés nincs engedélyezve, az eredeti ár jelenik meg.
Az alkalmazás létrehozása
Győződjön meg arról, hogy mentette az összes módosítást, és a dotnet-feature-flags könyvtárban van. Futtassa a következő parancsot a terminálban:
dotnet publish /p:PublishProfile=DefaultContainer
Futtassa az alkalmazást a Docker használatával:
docker compose up
Az árkedvezmény funkció tesztelése
Ha ellenőrizni szeretné, hogy a funkciójelző a várt módon működik-e egy kódtérben, hajtsa végre az alábbi lépéseket:
- Váltson a PORTok lapra, majd az előtérport helyi címétől jobbra válassza a földgömb ikont. A böngésző új lapot nyit meg a kezdőlapon.
- Válassza ki a termékeket.
Ha helyileg használja a Visual Studio Code-ot, nyissa meg a fájlt http://localhost:32000/products.
A szezonális értékesítést vezérlő funkciójelző teszteléséhez hajtsa végre a következő lépéseket:
Az Azure Portalon keresse meg a Azure-alkalmazás konfigurációs erőforrás előtagjáteshop-app-features.
Az Operations (Műveletek) szakaszban válassza a Funkciókezelőt.
A funkció kikapcsolásához válassza az engedélyezett SeasonalDiscount kapcsolót.
A böngészőben térjen vissza az alkalmazáshoz.
Válassza ki a kezdőlapot , majd a Termékek lapot.
A gyorsítótár törlése akár 30 másodpercet is igénybe vehet. Ha az értékesítési szalagcím továbbra is megjelenik, várjon néhány másodpercet, és frissítse újra az oldalt.