Freigeben über


Schnellstart: Erstellen einer ASP.NET Core-App mit Azure App Configuration

In dieser Schnellstartanleitung verwenden Sie Azure App Configuration, um die Speicherung und Verwaltung von App-Einstellungen für eine ASP.NET Core-App zu externalisieren. Mit ASP.NET Core wird ein Konfigurationsobjekt, das auf nur einem Schlüssel-Wert-Paar basiert, mit Einstellungen einer oder mehrerer Konfigurationsanbieter erstellt. App Configuration bietet eine .NET-Konfigurationsanbieterbibliothek. Daher können Sie App Configuration als zusätzliche Konfigurationsquelle für Ihre App verwenden. Wenn Sie über eine vorhandene App verfügen, müssen Sie nur einige kleine Änderungen an Ihrem App-Startcode vornehmen, um mit der Verwendung von App Configuration zu beginnen.

Voraussetzungen

Tipp

Azure Cloud Shell ist eine kostenlose interaktive Shell, mit der Sie die Befehlszeilenanweisungen in diesem Artikel ausführen können. Für sie sind allgemeine Azure-Tools einschließlich des .NET SDK vorinstalliert. Wenn Sie bei Ihrem Azure-Abonnement angemeldet sind, starten Sie Azure Cloud Shell über shell.azure.com. Weitere Informationen zu Azure Cloud Shell finden Sie in der Dokumentation.

Schlüsselwerte hinzufügen

Fügen Sie dem App Configuration-Speicher die folgenden Schlüsselwerte hinzu, und belassen Sie Bezeichnung und Inhaltstyp bei ihren Standardwerten. Weitere Informationen zum Hinzufügen von Schlüssel-Wert-Paaren zu einem Speicher mithilfe des Azure-Portals oder der CLI finden Sie unter Erstellen eines Schlüssel-Wert-Paars.

Schlüssel Wert
TestApp:Settings:BackgroundColor weiß
TestApp:Settings:FontColor schwarz
TestApp:Settings:FontSize 24
TestApp:Settings:Message Daten aus Azure App Configuration

Erstellen einer ASP.NET Core-Web-App

Verwenden Sie die .NET-Befehlszeilenschnittstelle (Command Line Interface, CLI), um ein neues ASP.NET Core-Web-App-Projekt zu erstellen. Die Azure Cloud Shell stellt Ihnen diese Tools zur Verfügung. Sie sind auch auf der Windows-, macOS- und Linux-Plattform verfügbar.

Führen Sie den folgenden Befehl aus, um eine ASP.NET Core-Web-App in einem neuen Ordner TestAppConfig zu erstellen:

dotnet new webapp --output TestAppConfig

Herstellen einer Verbindung mit dem App Configuration-Speicher

Verbinden Sie sich mit Ihrem App Configuration-Speicher entweder mithilfe von Microsoft Entra ID (empfohlen) oder mit einer Verbindungszeichenfolge.

  1. Navigieren Sie zum Verzeichnis TestAppConfig des Projekts, und führen Sie den folgenden Befehl aus, um Verweise auf das NuGet-Paket hinzuzufügen.

    dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
    dotnet add package Azure.Identity
    
  2. Erstellen Sie ein Benutzergeheimnis für die Anwendung, indem Sie zum Ordner TestAppConfig navigieren und den folgenden Befehl ausführen.

    Der Befehl verwendet den Geheimnis-Manager, um ein Geheimnis namens Endpoints:AppConfiguration zu speichern, das den Endpunkt für Ihren App Configuration-Speicher speichert. Ersetzen Sie den Platzhalter<your-App-Configuration-endpoint> durch den Endpunkt Ihres App Configuration-Speichers. Sie finden den Endpunkt im BereichÜbersicht Ihres App Configuration-Speichers im Azure-Portal.

    dotnet user-secrets init
    dotnet user-secrets set Endpoints:AppConfiguration "<your-App-Configuration-endpoint>"
    
  3. Öffnen Sie Program.cs und fügen Sie die folgenden Namespaces hinzu:

    using Microsoft.Extensions.Configuration;
    using Microsoft.Azure.AppConfiguration.AspNetCore;
    using Azure.Identity;
    
  4. Verbinden Sie sich mit Ihrem App Configuration-Speicher, indem Sie die AddAzureAppConfiguration-Methode in der Datei Program.cs aufrufen.

    Sie verwenden die DefaultAzureCredential für die Authentifizierung beim App Configuration-Speicher. Befolgen Sie die Anweisungen, um Ihre Anmeldeinformationen der Rolle App Configuration-Datenleser zuzuweisen. Achten Sie darauf, ausreichend Zeit für die Verteilung der Berechtigung zu warten, bevor Sie Ihre Anwendung ausführen.

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

    Dieser Code lädt alle Schlüsselwerte, die über keine Bezeichnung im App Configuration-Speicher verfügen. Weitere Informationen zum Laden von App Configuration-Daten finden Sie in der API-Referenz für App Configuration-Anbieter.

Lesen aus dem App Configuration-Speicher

In diesem Beispiel aktualisieren Sie eine Webseite, um ihren Inhalt mithilfe der Einstellungen anzuzeigen, die Sie in Ihrem App Configuration-Speicher konfiguriert haben.

  1. Fügen Sie die Datei Settings.cs im Stammverzeichnis Ihres Projekts hinzu. Sie definiert eine stark typisierte Settings-Klasse für die von Ihnen verwendete Konfiguration. Ersetzen Sie den Namespace durch den Namen Ihres Projekts.

    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. Binden Sie den Abschnitt TestApp:Settings in der Konfiguration an das Settings-Objekt.

    Aktualisieren Sie Program.cs mit dem folgenden Code, und fügen Sie den TestAppConfig-Namespace am Anfang der Datei hinzu.

    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. Öffnen Sie Index.cshtml.cs im Verzeichnis Pages, und aktualisieren Sie die IndexModel-Klasse mit dem folgenden Code. Fügen Sie am Anfang der Datei den Namespace using Microsoft.Extensions.Options hinzu, sofern noch nicht vorhanden.

    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. Öffnen Sie Index.cshtml im Verzeichnis Pages, und aktualisieren Sie den Inhalt mit dem folgenden 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>
    

Lokales Erstellen und Ausführen der App

  1. Um die App mit der .NET-CLI zu erstellen, navigieren Sie zum Stammverzeichnis Ihres Projekts. Führen Sie den folgenden Befehl in der Befehlsshell aus:

    dotnet build
    
  2. Führen Sie nach erfolgreicher Erstellung den folgenden Befehl aus, um die Web-App lokal auszuführen:

    dotnet run
    
  3. Die Ausgabe des dotnet run-Befehls enthält zwei URLs. Öffnen Sie einen Browser, und navigieren Sie zu einer dieser URLs, um auf Ihre Anwendung zuzugreifen. Beispiel: https://localhost:5001.

    Wenn Sie in der Azure Cloud Shell arbeiten, wählen Sie die Schaltfläche Webvorschau und dann Konfigurieren aus. Wenn Sie zum Konfigurieren des Ports für die Vorschau aufgefordert werden, geben Sie 5000 ein, und wählen Sie Öffnen und durchsuchen aus.

    Screenshot der Azure Cloud Shell. Suchen nach der Webvorschau.

    Die Webseite sieht wie folgt aus: Screenshot des Browsers. Lokales Starten der Schnellstart-App.

Bereinigen von Ressourcen

Wenn Sie die in diesem Artikel erstellten Ressourcen nicht mehr verwenden möchten, löschen Sie die erstellte Ressourcengruppe, um Kosten zu vermeiden.

Wichtig

Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Die Ressourcengruppe und alle darin enthaltenen Ressourcen werden unwiderruflich gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Falls Sie die Ressourcen für diesen Artikel in einer Ressourcengruppe erstellt haben, die andere beizubehaltende Ressourcen enthält, löschen Sie die Ressourcen einzeln über den entsprechenden Bereich, statt die Ressourcengruppe zu löschen.

  1. Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.
  2. Geben Sie im Feld Nach Name filtern den Namen Ihrer Ressourcengruppe ein.
  3. Wählen Sie in der Ergebnisliste den Ressourcengruppennamen aus, um eine Übersicht anzuzeigen.
  4. Wählen Sie die Option Ressourcengruppe löschen.
  5. Sie werden aufgefordert, das Löschen der Ressourcengruppe zu bestätigen. Geben Sie zur Bestätigung den Namen Ihrer Ressourcengruppe ein, und klicken Sie auf Löschen.

Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.

Nächste Schritte

In dieser Schnellstartanleitung führen Sie die folgenden Schritte aus:

  • Bereitstellen eines neuen App Configuration-Speichers.
  • Herstellen einer Verbindung mit Ihrem App Configuration-Speicher mithilfe der App Configuration-Anbieterbibliothek
  • Lesen der Schlüsselwerte Ihres App Configuration-Speichers mit der Konfigurationsanbieterbibliothek
  • Anzeigen einer Webseite mit den Einstellungen, die Sie in Ihrem App Configuration-Speicher konfiguriert haben

Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie Sie Ihre ASP.NET Core-Web-App für das dynamische Aktualisieren der Konfigurationseinstellungen konfigurieren: