Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Data från App Configuration kan läsas in som appinställningar i en .NET Framework-app. Mer information finns i snabbstarten. Som har utformats av .NET Framework kan appinställningarna dock bara uppdateras när appen startas om. .NET-providern för appkonfiguration är ett .NET Standard-bibliotek. Den stöder cachelagring och uppdatering av konfigurationen dynamiskt utan omstart av appen. Den här självstudien visar hur du kan implementera dynamiska konfigurationsuppdateringar i en .NET Framework-konsolapp.
I den här guiden lär du dig hur du:
- Konfigurera .NET Framework-appen för att uppdatera konfigurationen som svar på ändringar i ett appkonfigurationsarkiv.
- Mata in den senaste konfigurationen i ditt program.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa en kostnadsfritt.
- En App Configuration-butik, som visas i guiden för att skapa en App Configuration-butik.
- Visual Studio
- .NET Framework 4.7.2 eller senare
Lägga till ett nyckelvärde
Lägg till följande nyckelvärde i appkonfigurationsarkivet och lämna Etikett och innehållstyp med sina standardvärden. Mer information om hur du lägger till nyckelvärden i en butik med hjälp av Azure-portalen eller CLI, gå till Skapa ett nyckelvärde.
| Nyckel | Värde | 
|---|---|
| TestApp:Settings:Message | Data från Azure App Configuration | 
Skapa en .NET Framework-konsolapp
- Starta Visual Studio och välj Skapa ett nytt projekt. 
- I Skapa ett nytt projekt filtrerar du på projekttypen Konsol och väljer Konsolapp (.NET Framework) med C# i listan med projektmallar. Tryck på Nästa. 
- I Konfigurera det nya projektet anger du ett projektnamn. Under Framework väljer du .NET Framework 4.7.2 eller senare. Tryck på Skapa. 
Läsa in data på nytt från App Configuration
- Högerklicka på projektet och välj Hantera NuGet-paket. På fliken Bläddra söker du efter och lägger till den senaste versionen av följande NuGet-paket i projektet. - Microsoft.Extensions.Configuration.AzureAppConfiguration
- Azure.Identity
 
- Öppna Program.cs och lägg till följande namnområden. - using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.AzureAppConfiguration; using Azure.Identity;
- Lägg till två variabler för att lagra konfigurationsrelaterade objekt. - private static IConfiguration _configuration; private static IConfigurationRefresher _refresher;
- MainUppdatera metoden för att ansluta till App Configuration med de angivna uppdateringsalternativen. Anslut till App Configuration med hjälp av Microsoft Entra ID (rekommenderas) eller en anslutningssträng.- Du använder - DefaultAzureCredentialför att autentisera mot din App Configuration-butik. Följ anvisningarna för att tilldela dina autentiseringsuppgifter rollen App Configuration Data Reader. Se till att ge tillräckligt med tid för att behörigheten ska spridas innan du kör programmet.- // 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 // ... ...- ConfigureRefreshI metoden anropar- RegisterAlldu metoden för att instruera appkonfigurationsprovidern att läsa in hela konfigurationen igen när den identifierar en ändring i något av de valda nyckelvärdena (de som börjar med TestApp: och som inte har någon etikett). Mer information om hur du övervakar konfigurationsändringar finns i Metodtips för konfigurationsuppdatering.- Metoden - SetRefreshIntervalanger den minsta tid som måste förflutit innan en ny begäran görs till App Configuration för att söka efter konfigurationsändringar. I det här exemplet åsidosätter du standardförfallotiden på 30 sekunder och anger en tid på 10 sekunder i stället för demonstration.
- Lägg till en metod med namnet - PrintMessage()som utlöser en uppdatering av konfigurationsdata från 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!"); }- ConfigureRefreshOm du anropar metoden ensam uppdateras inte konfigurationen automatiskt. Du anropar- TryRefreshAsyncmetoden från gränssnittet- IConfigurationRefresherför att utlösa en uppdatering. Den här designen är att undvika begäranden som skickas till App Configuration även när programmet är inaktivt. Du kan inkludera anropet- TryRefreshAsyncdär du anser ditt program vara aktivt. Det kan till exempel vara när du bearbetar ett inkommande meddelande, en order eller en iteration av en komplex uppgift. Det kan också finnas i en timer om ditt program är aktivt kontinuerligt. När du trycker på Retur-tangenten anropar du- TryRefreshAsynci det här exemplet. Observera att även om anropet- TryRefreshAsyncmisslyckas av någon anledning fortsätter programmet att använda den cachelagrade konfigurationen. Ett annat försök görs när det konfigurerade uppdateringsintervallet har passerat och anropet utlöses av programaktiviteten- TryRefreshAsyncigen. Att anropa- TryRefreshAsyncär en no-op innan det konfigurerade uppdateringsintervallet har gått, vilket innebär att dess prestandapåverkan är minimal, även om den anropas ofta.
Skapa och köra appen lokalt
- Ange en miljövariabel. - Ange en miljövariabel med namnet - Endpointtill slutpunkten för appkonfigurationsarkivet som finns under Översikt över din butik i Azure-portalen.- Om du använder Windows-kommandotolken kör du följande kommando och startar om kommandotolken så att ändringen börjar gälla: - setx Endpoint "<endpoint-of-your-app-configuration-store>"- Om du använder PowerShell kör du följande kommando: - $Env:Endpoint = "<endpoint-of-your-app-configuration-store>"- Om du använder macOS eller Linux kör du följande kommando: - export Endpoint='<endpoint-of-your-app-configuration-store>'
- Starta om Visual Studio så att ändringen börjar gälla. 
- Tryck på Ctrl + F5 för att skapa och köra konsolappen.   
- I Azure Portal går du till Konfigurationsutforskaren i appkonfigurationsarkivet och uppdaterar värdet för följande nyckel. - Nyckel - Värde - TestApp:Settings:Message - Data från Azure App Configuration – Uppdaterad 
- När du återvänder till det körande programmet, tryck på Enter-tangenten för att uppdatera och visa det uppdaterade värdet i kommandotolken eller PowerShell-fönstret.   - Anteckning - Eftersom uppdateringsintervallet har angetts till 10 sekunder med hjälp av - SetRefreshIntervalmetoden när du anger konfigurationen för uppdateringsåtgärden uppdateras endast värdet för konfigurationsinställningen om minst 10 sekunder har förflutit sedan den senaste uppdateringen för den inställningen.
Rensa resurser
Om du inte vill fortsätta använda resurserna som skapas i den här artikeln tar du bort resursgruppen som du skapade här för att undvika avgifter.
Viktigt!
Att ta bort en resursgrupp kan inte ångras. Resursgruppen och alla resurser i den tas bort permanent. Se till att du inte oavsiktligt tar bort fel resursgrupp eller resurser. Om du har skapat resurserna för den här artikeln i en resursgrupp som innehåller andra resurser som du vill behålla tar du bort varje resurs individuellt från respektive fönster i stället för att ta bort resursgruppen.
- Logga in på Azure Portal och välj Resursgrupper.
- I rutan Filtrera efter namn anger du namnet på resursgruppen.
- I resultatlistan väljer du resursgruppens namn för att se en översikt.
- Välj Ta bort resursgrupp.
- Du blir ombedd att bekräfta borttagningen av resursgruppen. Ange namnet på resursgruppen för att bekräfta och välj Ta bort.
Efter en liten stund tas resursgruppen och alla dess resurser bort.
Nästa steg
I den här självstudien har du aktiverat .NET Framework-appen för att dynamiskt uppdatera konfigurationsinställningarna från App Configuration. Om du vill lära dig hur du aktiverar dynamisk konfiguration i ett ASP.NET webbprogram (.NET Framework) fortsätter du till nästa självstudie:
Om du vill lära dig hur du använder en hanterad Azure-identitet för att effektivisera åtkomsten till App Configuration fortsätter du till nästa självstudie: