Dela via


Snabbstart: Skapa en ASP.NET Core-app med Azure App Configuration

I den här snabbstarten använder du Azure App Configuration för att externalisera lagring och hantering av dina appinställningar för en ASP.NET Core-app. ASP.NET Core skapar ett enda nyckelvärdesbaserat konfigurationsobjekt med inställningar från en eller flera konfigurationsprovidrar. App Configuration erbjuder ett .NET-konfigurationsproviderbibliotek. Därför kan du använda App Configuration som en extra konfigurationskälla för din app. Om du har en befintlig app behöver du bara några små ändringar i appens startkod för att börja använda App Configuration.

Förutsättningar

Dricks

Azure Cloud Shell är ett kostnadsfritt interaktivt gränssnitt som du kan använda för att köra kommandoradsinstruktionerna i den här artikeln. Den har vanliga Azure-verktyg förinstallerade, inklusive .NET SDK. Om du är inloggad på din Azure-prenumeration startar du Azure Cloud Shell från shell.azure.com. Du kan lära dig mer om Azure Cloud Shell genom att läsa vår dokumentation

Lägga till nyckelvärden

Lägg till följande nyckelvärden i App Configuration Store och lämna Etikett och Innehållstyp med sina standardvärden. Mer information om hur du lägger till nyckelvärden i ett arkiv med hjälp av Azure Portal eller CLI finns i Skapa ett nyckelvärde.

Tangent Värde
TestApp:Settings:BackgroundColor vit
TestApp:Settings:FontColor svart
TestApp:Settings:FontSize 24
TestApp:Settings:Message Data från Azure App Configuration

Skapa en ASP.NET Core-webbapp

Använd .NET-kommandoradsgränssnittet (CLI) för att skapa ett nytt ASP.NET Core-webbappsprojekt. Azure Cloud Shell tillhandahåller dessa verktyg åt dig. De är också tillgängliga på Plattformarna Windows, macOS och Linux.

Kör följande kommando för att skapa en ASP.NET Core-webbapp i en ny TestAppConfig-mapp :

dotnet new webapp --output TestAppConfig

Ansluta till App Configuration Store

Anslut till appkonfigurationsarkivet med Hjälp av Microsoft Entra-ID (rekommenderas) eller en anslutningssträng.

  1. Navigera till projektets katalog TestAppConfig och kör följande kommando för att lägga till NuGet-paketreferenser.

    dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
    dotnet add package Azure.Identity
    
  2. Skapa en användarhemlighet för programmet genom att navigera till mappen TestAppConfig och köra följande kommando.

    Kommandot använder Secret Manager för att lagra en hemlighet med namnet Endpoints:AppConfiguration, som lagrar slutpunkten för appkonfigurationsarkivet. <your-App-Configuration-endpoint> Ersätt platshållaren med appkonfigurationsarkivets slutpunkt. Du hittar slutpunkten på bladet Översikt för appkonfigurationsarkivet i Azure Portal.

    dotnet user-secrets init
    dotnet user-secrets set Endpoints:AppConfiguration "<your-App-Configuration-endpoint>"
    
  3. Öppna Program.cs och lägg till följande namnområden:

    using Microsoft.Extensions.Configuration;
    using Microsoft.Azure.AppConfiguration.AspNetCore;
    using Azure.Identity;
    
  4. Anslut till appkonfigurationsarkivet genom att anropa AddAzureAppConfiguration metoden i Program.cs filen.

    Du använder för att autentisera DefaultAzureCredential till appkonfigurationsarkivet. 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.

    var builder = WebApplication.CreateBuilder(args); 
    
    // Retrieve the endpoint
    string endpoint = builder.Configuration.GetValue<string>("Endpoints:AppConfiguration")
        ?? throw new InvalidOperationException("The setting `Endpoints:AppConfiguration` was not found.");
    
    // Load configuration from Azure App Configuration 
    builder.Configuration.AddAzureAppConfiguration(options =>
    {
        options.Connect(new Uri(endpoint), new DefaultAzureCredential());
    });
    
    // The rest of existing code in program.cs
    // ... ...    
    

    Den här koden läser in alla nyckelvärden som inte har någon etikett från appkonfigurationsarkivet. Mer information om hur du läser in data från App Configuration finns i API-referensen för appkonfigurationsprovidern.

Läsa från App Configuration Store

I det här exemplet uppdaterar du en webbsida för att visa dess innehåll med hjälp av de inställningar som du konfigurerade i appkonfigurationsarkivet.

  1. Lägg till en Settings.cs fil i roten i projektkatalogen. Den definierar en starkt skriven Settings klass för den konfiguration som du ska använda. Ersätt namnområdet med namnet på projektet.

    namespace TestAppConfig
    {
        public class Settings
        {
            public string BackgroundColor { get; set; }
            public long FontSize { get; set; }
            public string FontColor { get; set; }
            public string Message { get; set; }
        }
    }
    
  2. Binda avsnittet TestApp:Settings i konfigurationen till objektet Settings .

    Uppdatera Program.cs med följande kod och lägg till TestAppConfig namnområdet i början av filen.

    using TestAppConfig;
    
    // Existing code in Program.cs
    // ... ...
    
    builder.Services.AddRazorPages();
    
    // Bind configuration "TestApp:Settings" section to the Settings object
    builder.Services.Configure<Settings>(builder.Configuration.GetSection("TestApp:Settings"));
    
    var app = builder.Build();
    
    // The rest of existing code in program.cs
    // ... ...
    
  3. Öppna Index.cshtml.cs i katalogen Pages och uppdatera IndexModel klassen med följande kod. using Microsoft.Extensions.Options Lägg till namnområdet i början av filen, om det inte redan finns där.

    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
    
        public Settings Settings { get; }
    
        public IndexModel(IOptionsSnapshot<Settings> options, ILogger<IndexModel> logger)
        {
            Settings = options.Value;
            _logger = logger;
        }
    }
    
  4. Öppna Index.cshtml i katalogen Pages och uppdatera innehållet med följande kod.

    @page
    @model IndexModel
    @{
        ViewData["Title"] = "Home page";
    }
    
    <style>
        body {
            background-color: @Model.Settings.BackgroundColor;
        }
    
        h1 {
            color: @Model.Settings.FontColor;
            font-size: @(Model.Settings.FontSize)px;
        }
    </style>
    
    <h1>@Model.Settings.Message</h1>
    

Skapa och köra appen lokalt

  1. Om du vill skapa appen med hjälp av .NET CLI går du till rotkatalogen för projektet. Kör följande kommando i kommandogränssnittet:

    dotnet build
    
  2. När bygget har slutförts kör du följande kommando för att köra webbappen lokalt:

    dotnet run
    
  3. Utdata från dotnet run kommandot innehåller två URL:er. Öppna en webbläsare och gå till någon av dessa URL:er för att få åtkomst till ditt program. Exempel: https://localhost:5001.

    Om du arbetar i Azure Cloud Shell väljer du knappen Webbförhandsgranskning följt av Konfigurera. När du uppmanas att konfigurera porten för förhandsversion anger du 5000 och väljer Öppna och bläddra.

    Skärmbild av Azure Cloud Shell. Leta upp webbförhandsgranskning.

    Webbsidan ser ut så här: Skärmbild av webbläsaren. Starta snabbstartsappen lokalt.

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.

  1. Logga in på Azure Portal och välj Resursgrupper.
  2. I rutan Filtrera efter namn anger du namnet på resursgruppen.
  3. I resultatlistan väljer du resursgruppens namn för att se en översikt.
  4. Välj Ta bort resursgrupp.
  5. 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 snabbstarten kommer du att göra följande:

  • Etablerade ett nytt appkonfigurationsarkiv.
  • Ansluten till appkonfigurationsarkivet med hjälp av appkonfigurationsproviderbiblioteket.
  • Läs appkonfigurationsarkivets nyckelvärden med konfigurationsproviderbiblioteket.
  • Visade en webbsida med de inställningar som du konfigurerade i appkonfigurationsarkivet.

Om du vill lära dig hur du konfigurerar din ASP.NET Core-webbapp för att dynamiskt uppdatera konfigurationsinställningarna fortsätter du till nästa självstudie.