Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gegevens uit App Configuration kunnen worden geladen als app-instellingen in een .NET Framework-app. Zie de quickstart voor meer informatie. Zoals is ontworpen door .NET Framework, kunnen de app-instellingen echter alleen worden vernieuwd wanneer de app opnieuw wordt opgestart. De .NET-provider van App Configuration is een .NET Standard-bibliotheek. Het biedt ondersteuning voor het dynamisch opslaan en vernieuwen van de configuratie zonder opnieuw opstarten van de app. Deze zelfstudie laat zien hoe u dynamische configuratie-updates kunt implementeren in een .NET Framework-console-app.
In deze zelfstudie leert u het volgende:
- Stel je .NET Framework-app in om de configuratie bij te werken in reactie op wijzigingen in een App Configuration-opslag.
 - De meest recente configuratie opnemen in uw toepassing.
 
Vereisten
- Een Azure-account met een actief abonnement. Maak gratis een account.
 - Een App Configuration-winkel, zoals uiteengezet in de zelfstudie voor het maken van een winkel.
 - Visual Studio
 - .NET Framework 4.7.2 of hoger
 
Een sleutelwaarde toevoegen
Voeg de volgende sleutelwaarde toe aan het App Configuration-archief en laat label en inhoudstype ongewijzigd met de standaardwaarden. Ga naar Sleutelwaarde maken voor meer informatie over het toevoegen van sleutel-waarden aan een opslag met behulp van de Azure Portal of de CLI.
| Sleutel | Weergegeven als | 
|---|---|
| TestApp:Instellingen:Bericht | Gegevens uit Azure-app-configuratie | 
Een .NET Framework-console-app maken
Start Visual Studio en selecteer Een nieuw project maken.
In Een nieuw project maken, filter op het consoleprojecttype en selecteer Console-app (.NET Framework) met C# uit 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. Druk op Maken.
Gegevens opnieuw laden vanuit app-configuratie
Klik met de rechtermuisknop op het project en selecteer NuGet-pakketten beheren. Zoek en voeg op het tabblad Bladeren de nieuwste versie van het volgende NuGet-pakket toe aan uw project.
- Microsoft.Extensions.Configuration.AzureAppConfiguration
 - Azure.Identity
 
Open Program.cs en voeg de volgende naamruimten toe.
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.AzureAppConfiguration; using Azure.Identity;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. Maak verbinding met App Configuration met behulp van Microsoft Entra-id (aanbevolen) of een verbindingsreeks.U gebruikt de
DefaultAzureCredentialom u te authentiseren bij uw App Configuration-opslagplaats. Volg de instructies om uw referentie toe te wijzen aan de App Configuration Data Reader-rol. Zorg ervoor dat u voldoende tijd geeft voor de machtiging om zich te verspreiden voordat u de toepassing uitvoert.// Existing code in Program.cs // ... ... static void Main(string[] args) { var builder = new ConfigurationBuilder(); builder.AddAzureAppConfiguration(options => { string endpoint = Environment.GetEnvironmentVariable("Endpoint"); options.Connect(new Uri(endpoint), new DefaultAzureCredential()) // Load all keys that start with `TestApp:` and have no label. .Select("TestApp:*") // Reload configuration if any selected key-values have changed. .ConfigureRefresh(refresh => { refresh.RegisterAll() .SetRefreshInterval(TimeSpan.FromSeconds(10)); }); _refresher = options.GetRefresher(); }); _configuration = builder.Build(); PrintMessage().Wait(); } // The rest of existing code in Program.cs // ... ...In de
ConfigureRefreshmethode roept u de methode aan om deRegisterAllApp Configuration-provider te instrueren om de volledige configuratie opnieuw te laden wanneer er een wijziging wordt gedetecteerd in een van de geselecteerde sleutelwaarden (die beginnen met TestApp: en geen label hebben). Zie Aanbevolen procedures voor het vernieuwen van configuratiesvoor meer informatie over het controleren van configuratiewijzigingen.De
SetRefreshIntervalmethode geeft de minimale tijd op die moet verstrijken voordat een nieuwe aanvraag wordt ingediend bij App Configuration om te controleren op eventuele configuratiewijzigingen. In dit voorbeeld overschrijft u de standaardverlooptijd van 30 seconden, waarbij u een tijd van 10 seconden opgeeft voor demonstratiedoeleinden.Voeg een methode
PrintMessage()toe waarmee een vernieuwing van configuratiegegevens vanuit App Configuration wordt geactiveerd.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 de
ConfigureRefreshmethode alleen aanroept, wordt de configuratie niet automatisch vernieuwd. U roept deTryRefreshAsyncmethode aan vanuit de interfaceIConfigurationRefresherom een vernieuwing te activeren. Dit ontwerp is om aanvragen te voorkomen die naar App Configuration worden verzonden, zelfs wanneer uw toepassing niet actief is. U kunt deTryRefreshAsyncaanroep opnemen op de plaatsen waar u uw toepassing actief acht. Dit kan bijvoorbeeld zijn wanneer u een binnenkomend bericht, een order of een iteratie van een complexe taak verwerkt. Het kan ook in een timer staan als uw toepassing altijd actief is. In dit voorbeeld roept uTryRefreshAsyncaan wanneer u op Enter drukt. Houd er rekening mee dat, zelfs als de aanroepTryRefreshAsyncom welke reden dan ook mislukt, uw toepassing de configuratie in de cache blijft gebruiken. Er wordt nog een poging gedaan wanneer het geconfigureerde vernieuwingsinterval is verstreken en deTryRefreshAsyncaanroep opnieuw wordt geactiveerd door uw toepassingsactiviteit. BellenTryRefreshAsyncis een no-op voordat het geconfigureerde vernieuwingsinterval is verstreken, dus de invloed op de prestaties is minimaal, zelfs als het vaak wordt aangeroepen.
De app lokaal bouwen en uitvoeren
Stel een omgevingsvariabele in.
Stel een omgevingsvariabele in met de naam
Endpointaan het eindpunt van uw App Configuration-winkel zoals gevonden onder Overzicht van uw winkel in de Azure portal.Als u de Windows-opdrachtprompt gebruikt, voert u de volgende opdracht uit en start u de opdrachtprompt opnieuw om de wijziging door te voeren:
setx Endpoint "<endpoint-of-your-app-configuration-store>"Als u PowerShell gebruikt, voert u de volgende opdracht uit:
$Env:Endpoint = "<endpoint-of-your-app-configuration-store>"Als u macOS of Linux gebruikt, voert u de volgende opdracht uit:
export Endpoint='<endpoint-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 in de Azure-portal naar de Configuration Explorer in uw App Configuration-archief en werk de waarde van de volgende sleutel bij.
Sleutel Weergegeven als TestApp:Instellingen:Bericht Gegevens uit Azure-app-configuratie - bijgewerkt Druk, wanneer u weer in de lopende toepassing bent, op de Enter-toets om een verversing te activeren en de bijgewerkte waarde in de opdrachtprompt of het PowerShell-venster weer te geven.
              
            Notitie
Omdat het vernieuwingsinterval is ingesteld op 10 seconden met behulp van de
SetRefreshIntervalmethode tijdens het opgeven van de configuratie voor de vernieuwingsbewerking, wordt de waarde voor de configuratie-instelling alleen bijgewerkt als ten minste 10 seconden zijn verstreken sinds de laatste vernieuwing voor die instelling.
Middelen opschonen
Als u de resources die in dit artikel zijn gemaakt niet wilt blijven gebruiken, 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. Ga verder met de volgende zelfstudie voor meer informatie over het inschakelen van dynamische configuratie in een ASP.NET Web Application (.NET Framework):
Als u wilt weten hoe u een door Azure beheerde identiteit gebruikt om de toegang tot App Configuration te stroomlijnen, gaat u verder met de volgende zelfstudie: