Gyakorlat – Konfigurációs beállítások implementálása Azure-alkalmazás konfigurációs példányban

Befejeződött

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:

  1. Egy másik böngészőlapon jelentkezzen be az Azure Portalra ugyanazzal a fiókkal és címtárral, mint az Azure CLI.
  2. A keresőmezővel megkeresheti és megnyithatja az alkalmazáskonfigurációs erőforrás előtagját eshop-app-features.
  3. Az Operations (Műveletek) szakaszban válassza a Configuration Explorer (Konfigurációkezelő) lehetőséget.
  4. A felső menüben válassza a +Létrehozás és a Kulcs-érték lehetőséget.
  5. A Kulcs szövegmezőbe írja be a eShopLite__Store__DiscountPercent.
  6. Az Érték szövegmezőbe írja be a 0,8 értéket.
  7. 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:

  1. Nyissa meg a fájlt a Visual Studio Code-ban Store/Components/Pages/Products.razor .

  2. @code A szakaszban adja hozzá a következő változót a funkciójelző állapotának tárolásához:

    private decimal discountPercentage;  
    
  3. 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:

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

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

  1. 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.
  2. 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 screenshot of the application showing discounted prices.

A szezonális értékesítést vezérlő funkciójelző teszteléséhez hajtsa végre a következő lépéseket:

  1. Az Azure Portalon keresse meg a Azure-alkalmazás konfigurációs erőforrás előtagjáteshop-app-features.

  2. Az Operations (Műveletek) szakaszban válassza a Funkciókezelőt.

  3. A funkció kikapcsolásához válassza az engedélyezett SeasonalDiscount kapcsolót.

    A screenshot showing the Azure portal page for App Configuration. The SeasonalDiscount is disabled.

  4. A böngészőben térjen vissza az alkalmazáshoz.

  5. Válassza ki a kezdőlapot , majd a Termékek lapot.

    A screenshot showing the eShopLite app without a sales banner.

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.