Zelfstudie: Dynamische configuratie gebruiken in een .NET-framework-app
Gegevens uit App Configuration kunnen worden geladen als app-Instellingen in een .NET Framework app. Zie de snelstart voor meer informatie. Zoals is ontworpen door de .NET Framework kan de app-Instellingen alleen worden vernieuwd wanneer de app opnieuw wordt opgestart. De App Configuration .NET-provider is een .NET Standard-bibliotheek. Het biedt ondersteuning voor het dynamisch in de caching en vernieuwen van de configuratie zonder dat de app opnieuw moet worden opgestart. Deze zelfstudie laat zien hoe u dynamische configuratie-updates kunt implementeren in een .NET Framework-console-app.
In deze zelfstudie leert u het volgende:
- De .NET Framework-app instellen om de bijbehorende configuratie bij te werken als reactie op wijzigingen in een App Configuration-archief.
- De meest recente configuratie opnemen in uw toepassing.
Vereisten
- Azure-abonnement: u kunt een gratis abonnement nemen
- Visual Studio
- .NET Framework 4.7.2 of hoger
Een App Configuration-archief maken
Als u een nieuw App Configuration-archief wilt maken, moet u zich eerst aanmelden bij de Azure-portal. Selecteer in de linkerbovenhoek van de startpagina de optie Een resource maken. Voer in het vak Marketplace doorzoeken App Configuration in en selecteer Invoeren.

Selecteer App Configuration in de zoekresultaten en selecteer vervolgens Maken.

Voer in het deelvenster App Configuration maken de volgende instellingen in:
Instelling Voorgestelde waarde Beschrijving Abonnement Uw abonnement Selecteer het Azure-abonnement dat u wilt gebruiken om App Configuration te testen. Als uw account maar één abonnement heeft, wordt dit automatisch geselecteerd en wordt de lijst Abonnement niet weergegeven. Resourcegroep AppConfigTestResources Selecteer of maak een resourcegroep voor de resource van het App Configuration-archief. Deze groep is handig voor het ordenen van meerdere resources die u mogelijk op een bepaald moment wilt verwijderen door resourcegroep te verwijderen. Zie Resourcegroepen gebruiken om Azure-resources te beheren voor meer informatie. Resourcenaam Wereldwijd unieke naam Voer een unieke resourcenaam in voor de resource van het App Configuration-archief. De naam moet een tekenreeks zijn van 5 tot 50 tekens en mag alleen cijfers, letters en -bevatten. De naam mag niet beginnen of eindigen met-.Locatie US - centraal Gebruik Locatie om de geografische locatie op te geven waar het app-configuratiearchief wordt gehost. Voor de beste prestaties maakt u de resource in dezelfde regio als de andere onderdelen van uw toepassing. Prijscategorie Gratis Selecteer de gewenste prijscategorie. Ga voor meer informatie naar de pagina met prijzen voor App Configuration. Selecteer Beoordelen en maken om de instellingen te valideren.
Selecteer Maken. De implementatie kan enkele minuten duren.
Als de implementatie is voltooid, gaat u naar de resource App Configuration. Selecteer Instellingen > Toegangssleutels. Noteer de verbindingsreeks van de primaire alleen-lezensleutel. U hebt de verbindingsreeks later nodig voor de configuratie van uw toepassing, zodat deze kan communiceren met het App Configuration-archief dat u hebt gemaakt.
Selecteer Configuratieverkenner > + > Sleutelwaarde maken om de volgende sleutelwaarde toe te voegen:
Sleutel Waarde TestApp:Settings:Message Gegevens van Azure App Configuration Laat Label en Inhoudstype leeg.
Een .NET Framework-console-app maken
Start Visual Studio en selecteer Een nieuw project maken.
Filter in Een nieuw project maken op het projecttype Console en selecteer Console-app (.NET Framework) met C# in de lijst met projectsjablonen. Druk op Volgende.
Voer in Uw nieuwe project configureren een projectnaam in. Selecteer onder Framework.NET Framework 4.7.2 of hoger. Kies Maken.
Gegevens opnieuw laden vanuit app-configuratie
Klik met de rechtermuisknop op het project en selecteer NuGet-pakketten beheren. Zoek op het tabblad Bladeren naar de nieuwste versie van het volgende NuGet-pakket en voeg deze toe aan uw project.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Open Program.cs en voeg de volgende naamruimten toe.
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.AzureAppConfiguration;Voeg twee variabelen toe om aan de configuratie gerelateerde objecten op te slaan.
private static IConfiguration _configuration; private static IConfigurationRefresher _refresher;Werk de methode
Mainbij om verbinding te maken met App Configuration met de opgegeven vernieuwingsopties.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(); }In de
ConfigureRefreshmethode wordt een sleutel in uw App Configuration voor wijzigingsbewaking geregistreerd. DeRegistermethode heeft een optionele Booleaanse parameter die kan worden gebruikt om aan te geven of alle configuratiewaarden moeten worden vernieuwd als de geregistreerde sleutel wordtrefreshAllgewijzigd. In dit voorbeeld wordt alleen de sleutel TestApp:Instellingen:Message vernieuwd. De methode geeft de minimale tijd aan die moet verstreken voordat een nieuwe aanvraag wordt ingediend om App Configuration om te controleren opSetCacheExpirationconfiguratiewijzigingen. In dit voorbeeld overschrijven we de standaardverlooptijd van 30 seconden en geeft u in plaats daarvan een tijd van 10 seconden op voor demonstratiedoeleinden.Voeg een methode toe
PrintMessage()met de naam die een vernieuwing van configuratiegegevens van 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!"); }Als u
ConfigureRefreshalleen de methode aanroept, wordt de configuratie niet automatisch vernieuwd. U roept de methodeTryRefreshAsyncaan vanuit de interface om een vernieuwing teIConfigurationRefresheractiveren. Dit ontwerp is om te voorkomen dat aanvragen worden verzonden naar App Configuration zelfs wanneer uw toepassing niet actief is. U kunt de aanroepTryRefreshAsyncopnemen waarbij u uw toepassing als actief beschouwt. Dit kan bijvoorbeeld zijn wanneer u een binnenkomend bericht, een bestelling of een iteratie van een complexe taak verwerkt. Het kan ook in een timer zijn als uw toepassing altijd actief is. In dit voorbeeld roept u aan wanneerTryRefreshAsyncu op Enter drukt. Zelfs als de aanroep om een of andere reden mislukt, blijft uw toepassing de configuratie inTryRefreshAsyncde cache gebruiken. Er wordt een andere poging gedaan wanneer de geconfigureerde verlooptijd van de cache is verstreken en deTryRefreshAsyncaanroep opnieuw wordt geactiveerd door uw toepassingsactiviteit. Aanroepen is een no-op voordat de geconfigureerde verlooptijd van de cache is verstreken, dus de invloed op de prestaties is minimaal, zelfs als deze regelmatigTryRefreshAsyncwordt aangeroepen.
De app lokaal compileren en uitvoeren
Stel een omgevingsvariabele met de naam ConnectionString in op de alleen-connection string die u hebt verkregen tijdens het maken App Configuration winkel.
Als u de Windows-opdrachtprompt gebruikt, moet u de volgende opdracht uitvoeren:
setx ConnectionString "connection-string-of-your-app-configuration-store"Als u Windows PowerShell gebruikt, voert u de volgende opdracht uit:
$Env:ConnectionString = "connection-string-of-your-app-configuration-store"Start Visual Studio opnieuw zodat de wijziging kan worden doorgevoerd.
Druk op Ctrl + F5 om de consoletoepassing te bouwen en uit te voeren.

Navigeer Azure Portal de configuratieverkenner van uw App Configuration store en werk de waarde van de volgende sleutel bij.
Sleutel Waarde TestApp:Settings:Message Gegevens van Azure App Configuration - bijgewerkt Druk, als u weer in de actieve toepassing bent, op Enter om een vernieuwing te activeren en de bijgewerkte waarde af te drukken naar de opdrachtprompt of het PowerShell-venster.

Notitie
Omdat de vervaltijd van de cache is ingesteld op tien seconden met behulp van de methode
SetCacheExpirationtijdens het opgeven van de configuratie voor de vernieuwingsbewerking, wordt de waarde voor de configuratie-instelling alleen bijgewerkt als er ten minste tien seconden zijn verstreken sinds de laatste vernieuwing voor die instelling.
Resources opschonen
Als u niet door wilt gaan met de resources die in dit artikel zijn gemaakt, verwijdert u de resourcegroep die u hier hebt gemaakt om kosten te voorkomen.
Belangrijk
Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. De resourcegroep en alle resources daarin worden permanent verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of resources verwijdert. Als u de resources voor dit artikel in een resourcegroep hebt gemaakt die andere resources bevat die u wilt behouden, moet u elke resource afzonderlijk verwijderen uit het deelvenster in plaats van dat u de resourcegroep verwijdert.
- Meld u aan bij de Azure-portal en selecteer Resourcegroepen.
- Voer de naam van de resourcegroep in het vak Filteren op naam in.
- Selecteer in de resultatenlijst de resourcegroepnaam om een overzicht te bekijken.
- Selecteer Resourcegroep verwijderen.
- U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Voer de naam van de resourcegroep in ter bevestiging en selecteer Verwijderen.
Na enkele ogenblikken worden de resourcegroep en alle bijbehorende resources verwijderd.
Volgende stappen
In deze zelfstudie hebt u uw .NET Framework-app ingeschakeld om de configuratie-instellingen uit App Configuration dynamisch te vernieuwen. Voor meer informatie over het inschakelen van dynamische configuratie in een ASP.NET Web Application (.NET Framework), gaat u verder met de volgende zelfstudie:
Als u wilt weten hoe u een beheerde Azure-identiteit kunt gebruiken om de toegang tot uw App Configuration, gaat u verder met de volgende zelfstudie: