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

In deze quickstart gebruikt u Azure App Configuration om de opslag en het beheer van toepassingsinstellingen voor een ASP.NET Core-app te centraliseren. ASP.NET Core maakt één configuratieobject met sleutels en waarden op basis van instellingen van een of meer gegevensbronnen die worden opgegeven door een app. Deze gegevensbronnen worden configuratieproviders genoemd. Omdat de .NET Core-client van App Configuration wordt geïmplementeerd als configuratieprovider, wordt de service als elke andere gegevensbron weergegeven.

Vereisten

Tip

Azure Cloud Shell is een gratis interactieve shell waarmee u de opdrachtregelinstructies in dit artikel kunt uitvoeren. Deze heeft algemene Azure-hulpprogramma's die vooraf zijn geïnstalleerd, met inbegrip van de .NET Core 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

Een App Configuration-archief maken

  1. Als u een nieuw App Configuration-archief wilt maken, moet u zich eerst aanmelden bij de Azure-portal. Selecteer in de linkerbovenhoek van de startpagina de optie Een resource maken. Voer in het vak Marketplace doorzoeken App Configuration in en selecteer Invoeren.

    Zoeken naar App Configuration

  2. Selecteer App Configuration in de zoekresultaten en selecteer vervolgens Maken.

    Selecteer Maken

  3. Voer in het deelvenster App Configuration maken de volgende instellingen in:

    Instelling Voorgestelde waarde Beschrijving
    Abonnement Uw abonnement Selecteer het Azure-abonnement dat u wilt gebruiken om App Configuration te testen. Als uw account maar één abonnement heeft, wordt dit automatisch geselecteerd en wordt de lijst Abonnement niet weergegeven.
    Resourcegroep AppConfigTestResources Selecteer of maak een resourcegroep voor de resource van het App Configuration-archief. Deze groep is handig voor het ordenen van meerdere resources die u mogelijk op een bepaald moment wilt verwijderen door resourcegroep te verwijderen. Zie Resourcegroepen gebruiken om Azure-resources te beheren voor meer informatie.
    Resourcenaam Wereldwijd unieke naam Voer een unieke resourcenaam in voor de resource van het App Configuration-archief. De naam moet een tekenreeks zijn van 5 tot 50 tekens en mag alleen cijfers, letters en - bevatten. De naam mag niet beginnen of eindigen met -.
    Locatie US - centraal Gebruik Locatie om de geografische locatie op te geven waar het app-configuratiearchief wordt gehost. Voor de beste prestaties maakt u de resource in dezelfde regio als de andere onderdelen van uw toepassing.
    Prijscategorie Gratis Selecteer de gewenste prijscategorie. Ga voor meer informatie naar de pagina met prijzen voor App Configuration.
  4. Selecteer Beoordelen en maken om de instellingen te valideren.

  5. Selecteer Maken. De implementatie kan enkele minuten duren.

  6. Als de implementatie is voltooid, gaat u naar de resource App Configuration. Selecteer Instellingen > Toegangssleutels. Noteer de verbindingsreeks van de primaire alleen-lezensleutel. U hebt de verbindingsreeks later nodig voor de configuratie van uw toepassing, zodat deze kan communiceren met het App Configuration-archief dat u hebt gemaakt.

  1. Selecteer Bewerkingen > Configuratieverkenner > Maken > Sleutel-waarde om de volgende sleutel-waardeparen toe te voegen:

    Sleutel Waarde
    TestApp:Settings:BackgroundColor #FFF
    TestApp:Settings:FontColor #000
    TestApp:Settings:FontSize 24
    TestApp:Settings:Message Gegevens van Azure App Configuration

    Laat Label en Inhoudstype nog even leeg. Selecteer Toepassen.

Een ASP.NET Core-web-app maken

Gebruik de opdrachtregelinterface (CLI) van .NET Core om een nieuw project van ASP.NET Core MVC 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 MVC-project te maken in een nieuwe TestAppConfig-map:

dotnet new mvc --no-https --output TestAppConfig

Secret Manager toevoegen

Het hulpprogramma Secret Manager slaat gevoelige gegevens voor ontwikkeltaken op buiten de projectstructuur. Deze aanpak voorkomt dat er per ongeluk appgeheimen worden gedeeld in de broncode. Voer de volgende stappen uit om het gebruik van Secret Manager in het ASP.NET Core-project mogelijk te maken:

Ga naar de hoofdmap van het project en voer de volgende opdracht uit om de opslag van geheimen in het project in te schakelen:

dotnet user-secrets init

Een UserSecretsId-element dat een GUID bevat wordt toegevoegd aan het bestand .csproj:

<Project Sdk="Microsoft.NET.Sdk.Web">
    
    <PropertyGroup>
        <TargetFramework>net5.0</TargetFramework>
        <UserSecretsId>79a3edd0-2092-40a2-a04d-dcb46d5ca9ed</UserSecretsId>
    </PropertyGroup>

</Project>

Tip

Raadpleeg Veilige opslag van app-geheimen in ontwikkeling in ASP.NET Core voor meer informatie over Secret Manager.

Verbinding maken met het App Configuration-archief

  1. Voer de volgende opdracht uit om een verwijzing van een NuGet-pakket voor Microsoft.Azure.AppConfiguration.AspNetCore te maken:

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

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

    Belangrijk

    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 wordt alleen gebruikt om de web-app lokaal te testen. Wanneer de app is geïmplementeerd naar Azure App Service, gebruikt u een toepassingsinstelling Verbindingsreeksen in App Service in plaats van Secret Manager om de verbindingsreeks op te slaan.

    Open dit geheim met behulp van de .NET Core-configuratie-API. Een dubbele punt (:) werkt in de configuratienaam met de configuratie-API op alle ondersteunde platforms. Zie Configuratiesleutels en -waarden voor meer informatie.

  3. Voeg in Program.cs een verwijzing toe naar de naamruimte van de .NET Core Configuration-API:

    using Microsoft.Extensions.Configuration;
    
  4. Werk de methode CreateWebHostBuilder bij voor het gebruik van App Configuration door de methode AddAzureAppConfiguration aan te roepen.

    Belangrijk

    CreateHostBuilder wordt vervangen door CreateWebHostBuilder in .NET Core 3.x. Selecteer de juiste syntaxis op basis van uw omgeving.

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
                webBuilder.ConfigureAppConfiguration(config =>
                {
                    var settings = config.Build();
                    var connection = settings.GetConnectionString("AppConfig");
                    config.AddAzureAppConfiguration(connection);
                }).UseStartup<Startup>());
    

    Door de voorgaande wijziging is de configuratieprovider voor App Configuration geregistreerd bij de .NET Core-Configuratie-API.

Uitlezen uit het App Configuration-archief

Voer de volgende stappen uit om waarden die in het App Configuration-archief zijn opgeslagen, uit te lezen en weer te geven. The .NET Core Configuration-API wordt gebruikt om toegang tot het archief te krijgen. De waarden van de sleutels worden weergegeven in Razor-syntaxis.

Open <app root>/Views/Home/Index.cshtml en vervang de inhoud door de volgende code:

@using Microsoft.Extensions.Configuration
@inject IConfiguration Configuration

<style>
    body {
        background-color: @Configuration["TestApp:Settings:BackgroundColor"]
    }
    h1 {
        color: @Configuration["TestApp:Settings:FontColor"];
        font-size: @Configuration["TestApp:Settings:FontSize"]px;
    }
</style>

<h1>@Configuration["TestApp:Settings:Message"]</h1>

In de voorgaande code worden de sleutels van het App Configuration-archief als volgt gebruikt:

  • De waarde van de sleutel TestApp:Settings:BackgroundColor wordt toegewezen aan de CSS-eigenschap background-color.
  • De waarde van de sleutel TestApp:Settings:FontColor wordt toegewezen aan de CSS-eigenschap color.
  • De waarde van de sleutel TestApp:Settings:FontSize wordt toegewezen aan de CSS-eigenschap font-size.
  • De waarde van de sleutel TestApp:Settings:Message wordt weergegeven als kop.

De app lokaal compileren en uitvoeren

  1. Als u de app wilt compileren met de .NET Core 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. Als u op uw lokale computer werkt, gebruikt u een browser om naar http://localhost:5000 te navigeren. Dit adres is de standaard-URL voor de lokaal gehoste web-app. Als u werkt in Azure Cloud Shell, selecteert u de knop Web-preview gevolgd door Configureren.

    De knop Web-preview zoeken

    Wanneer u wordt gevraagd om de poort voor de preview te configureren, voert u 5000 in en selecteert u Openen en bladeren. Op de webpagina staat Gegevens van Azure App Configuration.

Resources opschonen

Als u niet door wilt gaan met de resources die in dit artikel zijn gemaakt, 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
  • De .NET Core-configuratieprovider van het App Configuration-archief geregistreerd
  • De sleutels van het App Configuration-archief uitgelezen met de configuratieprovider
  • De waarden van de sleutels van het App Configuration-archief weergegeven in Razor-syntaxis

Ga door naar de volgende zelfstudie voor meer informatie over het configureren van uw ASP.NET Core-app om configuratie-instellingen dynamisch te vernieuwen.