Quickstart: Een ASP.NET Core-app maken met Azure-app Configuration

In deze quickstart gebruikt u Azure-app Configuration om de opslag en het beheer van uw app-instellingen voor een ASP.NET Core-app te externaliseren. ASP.NET Core bouwt één configuratieobject op basis van sleutelwaarden met behulp van instellingen van een of meer configuratieproviders. App Configuration biedt een .NET-configuratieproviderbibliotheek. Daarom kunt u App Configuration gebruiken als extra configuratiebron voor uw app. Als u een bestaande app hebt, hebt u slechts enkele kleine wijzigingen in de opstartcode van uw app nodig om app-configuratie te gaan gebruiken.

Vereisten

Tip

Azure Cloud Shell is een gratis interactieve shell waarmee u de opdrachtregelinstructies in dit artikel kunt uitvoeren. Er zijn vooraf algemene Azure-hulpprogramma's geïnstalleerd, waaronder de .NET SDK. Als u bent aangemeld bij uw Azure-abonnement, start u Azure Cloud Shell vanaf shell.azure.com. Meer informatie over Azure Cloud Shell vindt u door onze documentatie te lezen

Sleutelwaarden toevoegen

Voeg de volgende sleutelwaarden toe aan het App Configuration-archief en laat label en inhoudstype ongewijzigd met de standaardwaarden. Ga naar Een sleutelwaarde maken voor meer informatie over het toevoegen van sleutelwaarden aan een archief met behulp van Azure Portal of de CLI.

Sleutel Weergegeven als
TestApp:Instellingen:BackgroundColor Witte
TestApp:Instellingen:FontColor Zwarte
TestApp:Instellingen:FontSize 24
TestApp:Instellingen:Message Gegevens uit Azure-app-configuratie

Een ASP.NET Core-web-app maken

Gebruik de .NET-opdrachtregelinterface (CLI) om een nieuw ASP.NET Core-web-app-project te maken. De Azure Cloud Shell biedt u deze hulpprogramma's. Ze zijn ook beschikbaar op het Windows-, macOS- en Linux-platform.

Voer de volgende opdracht uit om een ASP.NET Core-web-app te maken in een nieuwe map TestAppConfig :

dotnet new webapp --output TestAppConfig --framework net6.0

Verbinding maken met het App Configuration-archief

  1. Navigeer naar de map TestAppConfig van het project en voer de volgende opdracht uit om een Microsoft.Azure.AppConfiguration.AspNetCore NuGet-pakketverwijzing toe te voegen:

    dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
    
  2. Voer de volgende opdracht uit. De opdracht maakt gebruik van Secret Manager voor het opslaan van een geheim met de naamConnectionStrings:AppConfig, waarin de verbindingsreeks voor uw App Configuration-archief wordt opgeslagen. Vervang de tijdelijke aanduiding <your_connection_string> door de verbindingstekenreeks van uw App Configuration-opslagplaats. U vindt de verbindingsreeks onder Toegangssleutels van uw App Configuration-archief in Azure Portal.

    dotnet user-secrets init
    dotnet user-secrets set ConnectionStrings:AppConfig "<your_connection_string>"
    

    Tip

    Bij sommige shells wordt de verbindingsreeks afgekapt, tenzij deze tussen aanhalingstekens staat. Zorg ervoor dat de uitvoer van de dotnet user-secrets list-opdracht de volledige verbindingsreeks toont. Als dat niet het geval is, voert u de opdracht opnieuw uit en plaatst u de verbindingsreeks tussen aanhalingstekens.

    Secret Manager slaat het geheim buiten uw projectstructuur op, waardoor het onbedoeld delen van geheimen in broncode wordt voorkomen. Deze wordt alleen gebruikt om de web-app lokaal te testen. Wanneer de app wordt geïmplementeerd in Azure, zoals App Service, gebruikt u de Verbinding maken iontekenreeksen, toepassingsinstellingen of omgevingsvariabelen om de verbindingsreeks op te slaan. U kunt ook verbindingsreeks s samen voorkomen door verbinding te maken met App Configuration met behulp van beheerde identiteiten of uw andere Microsoft Entra-identiteiten.

  3. Open Program.cs en voeg Azure-app Configuratie toe als extra configuratiebron door de methode aan te AddAzureAppConfiguration roepen.

    var builder = WebApplication.CreateBuilder(args);
    
    // Retrieve the connection string
    string connectionString = builder.Configuration.GetConnectionString("AppConfig");
    
    // Load configuration from Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(connectionString);
    
    // The rest of existing code in program.cs
    // ... ...
    

    Deze code maakt verbinding met uw App Configuration-archief met behulp van een verbindingsreeks en laadt alle sleutelwaarden die geen labels hebben. Zie de API-verwijzing voor de App Configuration-provider voor meer informatie over de App Configuration-provider.

Uitlezen uit het App Configuration-archief

In dit voorbeeld werkt u een webpagina bij om de inhoud ervan weer te geven met behulp van de instellingen die u hebt geconfigureerd in uw App Configuration-archief.

  1. Voeg een Instellingen.cs-bestand toe aan de hoofdmap van uw projectmap. Er wordt een sterk getypte klasse gedefinieerd Settings voor de configuratie die u gaat gebruiken. Vervang de naamruimte door de naam van uw project.

    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. Bind de TestApp:Settings sectie in de configuratie aan het Settings object.

    Werk Program.cs bij met de volgende code en voeg de TestAppConfig naamruimte toe aan het begin van het bestand.

    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. Open Index.cshtml.cs in de map Pagina's en werk de IndexModel klasse bij met de volgende code. Voeg de using Microsoft.Extensions.Options naamruimte toe aan het begin van het bestand, als dit nog niet is gebeurd.

    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. Open Index.cshtml in de map Pages en werk de inhoud bij met de volgende code.

    @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>
    

De app lokaal bouwen en uitvoeren

  1. Als u de app wilt bouwen met behulp van de .NET CLI, gaat u naar de hoofdmap van uw project. Voer de volgende opdracht uit in de opdrachtshell:

    dotnet build
    
  2. Nadat het compileren is voltooid, gebruikt u de volgende opdracht om de web-app lokaal uit te voeren:

    dotnet run
    
  3. De uitvoer van de dotnet run opdracht bevat twee URL's. Open een browser en navigeer naar een van deze URL's om toegang te krijgen tot uw toepassing. Voorbeeld: https://localhost:5001.

    Als u werkt in Azure Cloud Shell, selecteert u de knop Web-preview gevolgd door Configureren. Wanneer u wordt gevraagd om de poort voor preview te configureren, voert u 5000 in en selecteert u Openen en bladeren.

    Screenshot of Azure Cloud Shell. Locate Web Preview.

    De webpagina ziet er als volgt uit: Screenshot of the browser.Launching quickstart app locally.

Resources 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.

  1. Meld u aan bij de Azure-portal en selecteer Resourcegroepen.
  2. Voer de naam van de resourcegroep in het vak Filteren op naam in.
  3. Selecteer in de resultatenlijst de resourcegroepnaam om een overzicht te bekijken.
  4. Selecteer Resourcegroep verwijderen.
  5. 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 snelstart, gaat u het volgende doen:

  • Een nieuw App Configuration-archief ingericht
  • Verbinding maken naar uw App Configuration-archief met behulp van de App Configuration-providerbibliotheek.
  • Lees de sleutelwaarden van uw App Configuration-archief met de bibliotheek van de configuratieprovider.
  • Er wordt een webpagina weergegeven met behulp van de instellingen die u hebt geconfigureerd in uw App Configuration-archief.

Als u wilt weten hoe u uw ASP.NET Core-web-app configureert om configuratie-instellingen dynamisch te vernieuwen, gaat u verder met de volgende zelfstudie.