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

I den här snabbstarten använder du Azure App Configuration för att centralisera lagring och hantering av programinställningar för en ASP.NET Core app. ASP.NET Core skapar ett enda nyckelvärdesbaserat konfigurationsobjekt med hjälp av inställningar från en eller flera datakällor som anges av en app. Dessa datakällor kallas konfigurationsproviders. Eftersom App Configuration .NET Core-klienten implementeras som en konfigurationsprovider visas tjänsten som en annan datakälla.

Förutsättningar

Tips

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

Skapa ett App Configuration butik

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

    Sök efter App Configuration

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

    Välj Skapa

  3. 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.
  4. Välj Granska + skapa för att validera inställningarna.

  5. Välj Skapa. Distributionen kan ta några minuter.

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

  1. Välj Operations > Configuration Explorer > Create > Key-value (Skapa nyckelvärde) för att lägga till följande nyckel/värde-par:

    Tangent Värde
    TestApp:Settings:BackgroundColor #FFF
    TestApp:Settings:FontColor #000
    TestApp:Settings:FontSize 24
    TestApp:Settings:Message Data från Azure App Configuration

    Lämna Etikett och Innehållstyp tomma för tillfället. Välj Använd.

Skapa en ASP.NET Core-webbapp

Använd .NET Core-kommandoradsgränssnittet (CLI) för att skapa ett nytt ASP.NET Core MVC-projekt. I Azure Cloud Shell du de här verktygen. De är också tillgängliga på plattformarna Windows, macOS och Linux.

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

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

Lägga till Secret Manager

Ett verktyg som kallas Secret Manager lagrar känsliga data för utvecklings arbete utanför projekt trädet. Den här metoden hjälper till att förhindra oavsiktlig delning av apphemligheter i källkoden. Utför följande steg för att aktivera användning av Secret Manager i ASP.NET Core-projektet:

Navigera till projektets rot Katalog och kör följande kommando för att aktivera hemligheter för lagring i projektet:

dotnet user-secrets init

Ett UserSecretsId element som innehåller ett GUID läggs till i . CSPROJ -filen:

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

</Project>

Tips

Mer information om Secret Manager finns i säker lagring av program hemligheter i utveckling i ASP.net Core.

Anslut till App Configuration butik

  1. Kör följande kommando för att lägga till en Microsoft.Azure.AppConfiguration.AspNetCore NuGet-paketreferens:

    dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
    
  2. Kör följande kommando i samma katalog som .csproj-filen. Kommandot använder Secret Manager för att lagra en hemlighet med namnet ConnectionStrings:AppConfig , som lagrar anslutningssträngen för App Configuration store. Ersätt <your_connection_string> platshållaren med App Configuration store-anslutningssträngen. Du hittar anslutningssträngen under Åtkomstnycklar i Azure Portal.

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

    Viktigt

    Vissa gränssnitt trunkerar anslutningssträngen om den inte omges av citattecken. Kontrollera att kommandots utdata dotnet user-secrets list visar hela anslutningssträngen. Om den inte gör det kör du kommandot igen och omsluter anslutningssträngen inom citattecken.

    Secret Manager används endast för att testa webbappen lokalt. När appen distribueras till Azure App Service använderdu programinställningen Anslutningssträngar i App Service i stället för Secret Manager för att lagra anslutningssträngen.

    Få åtkomst till den här hemligheten med hjälp av .NET Core-konfigurations-API:et. Ett kolon ( : ) fungerar i konfigurationsnamnet med konfigurations-API:et på alla plattformar som stöds. Mer information finns i Konfigurationsnycklar och värden.

  3. I Program.cs lägger du till en referens till .NET Core Configuration API-namnområdet:

    using Microsoft.Extensions.Configuration;
    
  4. Uppdatera metoden CreateWebHostBuilder till att använda App Configuration genom att anropa metoden AddAzureAppConfiguration .

    Viktigt

    CreateHostBuilder ersätter CreateWebHostBuilder i .NET Core 3.x. Välj rätt syntax baserat på din miljö.

    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>());
    

    Med den föregående ändringen har konfigurationsprovidern för App Configuration registrerats med .NET Core-konfigurations-API:et.

Läsa från App Configuration store

Utför följande steg för att läsa och visa värden som lagras App Configuration arkivet. .NET Core-konfigurations-API:et används för att komma åt arkivet. Razor-syntax används för att visa nycklarnas värden.

Öppna <app root> /Views/Home/Index.cshtml och ersätt dess innehåll med följande kod:

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

I föregående kod används App Configuration store-nycklar på följande sätt:

  • Nyckelns TestApp:Settings:BackgroundColor värde tilldelas css-egenskapen. background-color
  • Nyckelns TestApp:Settings:FontColor värde tilldelas css-egenskapen. color
  • Nyckelns TestApp:Settings:FontSize värde tilldelas css-egenskapen. font-size
  • Nyckelns TestApp:Settings:Message värde visas som en rubrik.

Skapa och köra appen lokalt

  1. Om du vill skapa appen med .NET Core CLI navigerar du till projektets rotkatalog. Kör följande kommando i kommandogränssnittet:

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

    dotnet run
    
  3. Om du arbetar på den lokala datorn använder du en webbläsare för att navigera till http://localhost:5000 . Den här adressen är standard-URL:en för den lokalt värdbaserade webbappen. Om du arbetar i Azure Cloud Shell väljer du knappen Webbförhandsgranskning följt av Konfigurera.

    Leta upp knappen Webbförhandsgranskning

    När du uppmanas att konfigurera porten för förhandsgranskning anger du 5000 och väljer Öppna och bläddrar. På webbsidan står det "Data från Azure App Configuration".

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.

  1. Logga in på Azure Portaloch välj resurs grupper.
  2. I rutan Filtrera efter namn anger du namnet på din resurs grupp.
  3. I listan resultat väljer du resurs gruppens 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å 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 snabbstarten kommer du att göra följande:

  • Etablerat ett nytt App Configuration lager.
  • Registrerade App Configuration.NET Core-konfigurationsprovidern.
  • Läs App Configuration store-nycklar med konfigurationsprovidern.
  • Visade App Configuration lagras nyckelvärden med Razor-syntax.

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