Oktatóanyag: dinamikus konfiguráció használata .NET Core-alkalmazásokban

Az App Configuration .NET Core ügyféloldali függvénytár támogatja a konfiguráció igény szerinti frissítését anélkül, hogy újra kellene indítani az alkalmazást. Ezt úgy teheti meg, hogy először beolvassa a IConfigurationRefresher konfigurációs szolgáltató beállításai közül a példányát, majd a TryRefreshAsync kódban bárhol meghívja a példányt.

A beállítások frissítésének megtartásához és a konfigurációs tárolóhoz való túl sok hívás elkerüléséhez minden beállításhoz gyorsítótárat kell használni. Amíg a beállítás gyorsítótárazott értéke lejárt, a frissítési művelet nem frissíti az értéket, még akkor is, ha az érték módosult a konfigurációs tárolóban. Az egyes kérések alapértelmezett lejárati ideje 30 másodperc, de szükség esetén felül lehet bírálni.

Ez az oktatóanyag bemutatja, hogyan valósítható meg a dinamikus konfigurációs frissítések a kódban. Ez a gyors üzembe helyezési útmutatóban bemutatott alkalmazásra épül. A folytatás előtt fejezze be a .net Core-alkalmazás létrehozása az alkalmazás konfigurációjával című részből.

Az oktatóanyag lépéseihez bármilyen Kódszerkesztő használható. A Visual Studio Code egy kiváló lehetőség, amely a Windows, MacOS és Linux platformokon érhető el.

Eben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Állítsa be a .NET Core-alkalmazást úgy, hogy az alkalmazás konfigurációs tárolójának változásaira reagálva frissítse a konfigurációját.
  • Használja fel a legújabb konfigurációt az alkalmazásban.

Előfeltételek

Az oktatóanyag elvégzéséhez telepítse a .net Core SDK.

Ha nem rendelkezik Azure- előfizetéssel, a Kezdés előtt hozzon létre egy ingyenes fiókot .

Adatok újratöltése az alkalmazás konfigurációjától

Nyissa meg a program. cs fájlt, és frissítse a fájlt a névtérre mutató hivatkozás hozzáadásához, a System.Threading.Tasks frissítési konfiguráció megadásához a AddAzureAppConfiguration metódusban, valamint a manuális frissítés a metódussal történő elindításához TryRefreshAsync .

using System;
using System.Threading.Tasks;

namespace TestConsole
{
class Program
{
    private static IConfiguration _configuration = null;
    private static IConfigurationRefresher _refresher = null;

    static void Main(string[] args)
    {
        var builder = new ConfigurationBuilder();
        builder.AddAzureAppConfiguration(options =>
        {
            options.Connect(Environment.GetEnvironmentVariable("ConnectionString"))
                    .ConfigureRefresh(refresh =>
                    {
                        refresh.Register("TestApp:Settings:Message")
                               .SetCacheExpiration(TimeSpan.FromSeconds(10));
                    });
                    
                    _refresher = options.GetRefresher();
        });

        _configuration = builder.Build();
        PrintMessage().Wait();
    }

    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!");
    }
}
}

A ConfigureRefresh metódussal adhatja meg azokat a beállításokat, amelyeket a konfigurációs adatainak az alkalmazás konfigurációs tárolójával való frissítéséhez használ a frissítési művelet elindításakor. A metódus IConfigurationRefresher Meghívási metódusával lekérhető egy példány GetRefresher AddAzureAppConfiguration , és az TryRefreshAsync adott példány metódusa használható a kód bármely pontjára a frissítési művelet elindításához.

Megjegyzés

A konfigurációs beállítás alapértelmezett gyorsítótár-lejárati ideje 30 másodperc, de felülbírálható úgy, hogy meghívja a metódust az SetCacheExpiration inicializálási beállítások argumentumként megadott metódusban ConfigureRefresh .

Az alkalmazás helyi létrehozása és futtatása

  1. Állítson be egy ConnectionString nevű környezeti változót, és állítsa be az alkalmazás konfigurációs tárolójának hozzáférési kulcsára. Ha a Windows-parancssort használja, futtassa a következő parancsot, és indítsa újra a parancssort, hogy a módosítás érvénybe lépjen:

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

    Ha a Windows PowerShellt használja, futtassa a következő parancsot:

     $Env:ConnectionString = "connection-string-of-your-app-configuration-store"
    

    Ha macOS vagy Linux rendszert használ, futtassa a következő parancsot:

     export ConnectionString='connection-string-of-your-app-configuration-store'
    
  2. Futtassa a következő parancsot a konzol alkalmazás létrehozásához:

     dotnet build
    
  3. A létrehozás sikeres befejezése után futtassa a következő parancsot az alkalmazás helyi futtatásához:

     dotnet run
    

    Gyorsindítás alkalmazás elindítása helyi

  4. Jelentkezzen be az Azure Portalra. Válassza a minden erőforrás lehetőséget, majd válassza ki a gyors útmutatóban létrehozott app Configuration Store-példányt.

  5. Válassza a Configuration Explorer lehetőséget, és frissítse a következő kulcsok értékeit:

    Kulcs Érték
    TestApp: beállítások: üzenet Adatok az Azure-alkalmazás konfigurációjában – frissítve
  6. Nyomja le az ENTER billentyűt a frissítés elindításához és a frissített érték kinyomtatásához a parancssorban vagy a PowerShell-ablakban.

    Rövid útmutató alkalmazás helyi frissítése

    Megjegyzés

    Mivel a gyorsítótár lejárati ideje 10 másodpercre van állítva a SetCacheExpiration metódusnak a frissítési művelethez való megadása során, a rendszer csak akkor frissíti a konfigurációs beállítás értékét, ha az adott beállítás utolsó frissítése óta legalább 10 másodperc eltelt.

Az erőforrások eltávolítása

Ha nem szeretné tovább használni a cikkben létrehozott erőforrásokat, törölje az itt létrehozott erőforráscsoportot a díjak elkerüléséhez.

Fontos

Az erőforráscsoport törlése nem vonható vissza. Az erőforráscsoport és az ahhoz tartozó összes erőforrás véglegesen törlődik. Figyeljen, nehogy véletlenül rossz erőforráscsoportot vagy erőforrásokat töröljön. Ha a cikk erőforrásait egy olyan erőforráscsoporthoz hozta létre, amely más erőforrásokat is tartalmaz, törölje az egyes erőforrásokat a megfelelő ablaktábláról az erőforráscsoport törlése helyett.

  1. Jelentkezzen be a Azure Portalba, és válassza az erőforráscsoportok lehetőséget.
  2. A szűrés név alapján mezőbe írja be az erőforráscsoport nevét.
  3. Az eredmények listájában válassza ki az erőforráscsoport nevét az Áttekintés megtekintéséhez.
  4. Válassza az Erőforráscsoport törlése elemet.
  5. A rendszer az erőforráscsoport törlésének megerősítését kéri. Adja meg a megerősíteni kívánt erőforráscsoport nevét, majd válassza a Törlés lehetőséget.

Néhány pillanat elteltével a rendszer törli az erőforráscsoportot és az összes erőforrását.

Következő lépések

Ebben az oktatóanyagban engedélyezte a .NET Core-alkalmazást, hogy dinamikusan frissítse a konfigurációs beállításokat az alkalmazás konfigurációjában. Ha meg szeretné tudni, hogyan használható az Azure felügyelt identitása az alkalmazás-konfigurációhoz való hozzáférés egyszerűsítéséhez, folytassa a következő oktatóanyaggal.