Självstudie: Använda dynamisk konfiguration i en .NET Framework app
Data från App Configuration kan läsas in som app-Inställningar i en .NET Framework app. Mer information finns i snabbstarten. Men som har utformats av .NET Framework kan app-Inställningar bara uppdateras när appen startas om. Den App Configuration .NET-providern är ett .NET-standardbibliotek. Den stöder cachelagring och uppdatering av konfiguration dynamiskt utan omstart av appen. Den här självstudien visar hur du kan implementera dynamiska konfigurationsuppdateringar i .NET Framework en konsolapp.
I den här guiden får du lära dig att:
- Konfigurera din .NET Framework att uppdatera dess konfiguration som svar på ändringar i ett App Configuration store.
- Mata in den senaste konfigurationen i programmet.
Förutsättningar
- Azure-prenumeration – skapa en kostnadsfritt
- Visual Studio
- .NET Framework 4.7.2 eller senare
Skapa en App Configuration butik
Om du vill skapa ett nytt konfigurations Arkiv för appen loggar du in på Azure Portal. I det övre vänstra hörnet på Start sidan väljer du skapa en resurs. I rutan Sök på Marketplace anger du app-konfiguration och väljer RETUR.

Välj app-konfiguration från Sök resultaten och välj sedan skapa.

I fönstret skapa app-konfiguration anger du följande inställningar:
Inställning Föreslaget värde Beskrivning Prenumeration Din prenumeration Välj den Azure-prenumeration du vill använda för att testa App Configuration. Om ditt konto bara har en prenumeration väljs den automatiskt och ingen prenumerations lista visas. Resursgrupp AppConfigTestResources Välj eller skapa en resurs grupp för din app Configuration Store-resurs. Den här gruppen är användbar för att organisera flera resurser som du kanske vill ta bort samtidigt genom att ta bort resurs gruppen. Mer information finns i använda resurs grupper för att hantera dina Azure-resurser. Resurs namn Globalt unikt namn Ange ett unikt resurs namn som ska användas för appens konfigurations Arkiv resurs. Namnet måste vara en sträng mellan 5 och 50 tecken och får bara innehålla siffror, bokstäver och -tecknet. Namnet får inte börja eller sluta med-specialtecknet.Plats USA, centrala Använd Plats till att ange den geografiska plats där appkonfigurationsarkivets resurs finns. För bästa prestanda skapar du resursen i samma region som andra komponenter i ditt program. Prisnivå Kostnadsfri Välj önskad pris nivå. Mer information finns på sidan med prissättning för app-konfiguration. Välj Granska + skapa för att validera inställningarna.
Välj Skapa. Distributionen kan ta några minuter.
När distributionen är klar går du till appen konfigurations resurs. Välj Inställningar > Åtkomstnycklar. Anteckna den primära skrivskyddade nyckel anslutnings strängen. Du kommer att använda den här anslutnings strängen senare för att konfigurera programmet för att kommunicera med det app-konfigurations lager som du har skapat.
Välj Configuration Explorer+ Create Key-value (Konfigurationsutforskaren > + > Skapa nyckelvärde) för att lägga till följande nyckelvärde:
Tangent Värde TestApp:Inställningar:Meddelande Data från Azure App Configuration Lämna Etikett och Innehållstyp tomma.
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# från listan med projektmallar. Tryck på Nästa.
I Konfigurera det nya projektet anger du ett projektnamn. Under Ramverk 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
Öppna Program.cs och lägg till följande namnområden.
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.AzureAppConfiguration;Lägg till två variabler för att lagra konfigurationsrelaterade objekt.
private static IConfiguration _configuration; private static IConfigurationRefresher _refresher;Uppdatera metoden
Mainför att ansluta till App Configuration med de angivna uppdateringsalternativen.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(); }I metoden
ConfigureRefreshregistreras en nyckel i ditt App Configuration för ändringsövervakning. Metoden har en valfri boolesk parameter som kan användas för att ange om alla konfigurationsvärdenRegisterska uppdateras om den registrerade nyckelnrefreshAlländras. I det här exemplet uppdateras bara nyckeln TestApp:Inställningar:Message. Metoden anger den minsta tid som måste gå innan en ny begäran görs förSetCacheExpirationatt 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 i stället en tid på 10 sekunder i demonstrationssyfte.Lägg till en metod
PrintMessage()med namnet 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!"); }Om du
ConfigureRefreshenbart anropar metoden uppdateras inte konfigurationen automatiskt. Du anroparTryRefreshAsyncmetoden från gränssnittet för att utlösa enIConfigurationRefresheruppdatering. Den här designen är för att undvika förfrågningar som skickas till App Configuration även när programmet är inaktivt. Du kan inkluderaTryRefreshAsyncanropet där du anser att programmet är 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å vara i en timer om programmet är aktivt hela tiden. I det här exemplet anropar duTryRefreshAsyncnär du trycker på Retur. Observera att även om anropetTryRefreshAsyncmisslyckas av någon anledning fortsätter programmet att använda den cachelagrade konfigurationen. Ett nytt försök görs när den konfigurerade cachens förfallotid har passerat ochTryRefreshAsyncanropet utlöses av din programaktivitet igen. Anrop är en no-op innan den konfigurerade förfallotiden för cachen förflutit, så dess prestandapåverkan ärTryRefreshAsyncminimal, även om den anropas ofta.
Skapa och köra appen lokalt
Ange en miljövariabel med namnet ConnectionString till den skrivskyddade nyckelanslutningssträngen som erhölls när App Configuration arkivet skapades.
Om du använder Windows kommandotolken kör du följande kommando:
setx ConnectionString "connection-string-of-your-app-configuration-store"Om du använder Windows PowerShell kör du följande kommando:
$Env:ConnectionString = "connection-string-of-your-app-configuration-store"Starta Visual Studio så att ändringen börjar gälla.
Tryck på Ctrl + F5 för att skapa och köra konsolappen.

I Azure Portal du till Konfigurationsutforskaren för ditt App Configuration och uppdaterar värdet för följande nyckel.
Tangent Värde TestApp:Inställningar:Meddelande Data från Azure App Configuration – uppdaterad När du är tillbaka i programmet som körs trycker du på Retur för att utlösa en uppdatering och skriver ut det uppdaterade värdet i kommandotolken eller PowerShell-fönstret.

Anteckning
Eftersom förfallotiden för cacheminnet var inställd på 10 sekunder med hjälp av metoden när du anger konfigurationen för uppdateringsåtgärden, uppdateras värdet för konfigurationsinställningen endast om minst 10 sekunder har förflutit sedan den senaste uppdateringen för den
SetCacheExpirationinställningen.
Rensa resurser
Om du inte vill fortsätta använda resurserna som skapats i den här artikeln tar du bort resurs gruppen som du skapade här för att undvika avgifter.
Viktigt
Att ta bort en resursgrupp kan inte ångras. Resurs gruppen och alla resurser i den tas bort permanent. Var noga så att du inte tar bort fel resursgrupp eller resurser av misstag. Om du har skapat resurserna för den här artikeln i en resurs grupp som innehåller andra resurser som du vill behålla, tar du bort varje resurs separat från dess respektive fönster i stället för att ta bort resurs gruppen.
- Logga in på Azure Portaloch välj resurs grupper.
- I rutan Filtrera efter namn anger du namnet på din resurs grupp.
- I listan resultat väljer du resurs gruppens namn för att se en översikt.
- Välj Ta bort resursgrupp.
- Du blir ombedd att bekräfta borttagningen av resursgruppen. Ange namnet på resurs gruppen som ska bekräftas och välj ta bort.
Efter en liten stund tas resurs gruppen och alla dess resurser bort.
Nästa steg
I den här självstudien har du aktiverat .NET Framework för att dynamiskt uppdatera konfigurationsinställningarna från App Configuration. Om du vill lära dig hur du aktiverar dynamisk konfiguration ASP.NET en webbapp (.NET Framework) fortsätter du till nästa självstudie:
Om du vill lära dig hur du använder en azure-hanterad identitet för att effektivisera åtkomsten App Configuration kan du fortsätta till nästa självstudie: