Szybki start: tworzenie aplikacji ASP.NET Core przy użyciu usługi aplikacja systemu Azure Configuration

W tym przewodniku Szybki start użyjesz aplikacja systemu Azure Configuration do zewnętrznego przechowywania i zarządzania ustawieniami aplikacji dla aplikacji ASP.NET Core. ASP.NET Core tworzy pojedynczy obiekt konfiguracji oparty na wartości klucza przy użyciu ustawień od co najmniej jednego dostawcy konfiguracji. Usługa App Configuration oferuje bibliotekę dostawcy konfiguracji platformy .NET. W związku z tym możesz użyć usługi App Configuration jako dodatkowego źródła konfiguracji dla aplikacji. Jeśli masz istniejącą aplikację, aby rozpocząć korzystanie z usługi App Configuration, będziesz potrzebować tylko kilku niewielkich zmian w kodzie uruchamiania aplikacji.

Wymagania wstępne

Napiwek

Usługa Azure Cloud Shell to bezpłatna, interaktywna powłoka, której można użyć do uruchamiania instrukcji wiersza polecenia w tym artykule. Wstępnie zainstalowane narzędzia platformy Azure, w tym zestaw SDK platformy .NET. Jeśli zalogowano się do subskrypcji platformy Azure, uruchom usługę Azure Cloud Shell z shell.azure.com. Aby dowiedzieć się więcej na temat usługi Azure Cloud Shell, przeczytaj naszą dokumentację

Dodawanie wartości klucz-wartość

Dodaj następujące wartości klucza do magazynu App Configuration i pozostaw wartości Etykieta i Typ zawartości z ich wartościami domyślnymi. Aby uzyskać więcej informacji na temat dodawania wartości klucz-wartości do magazynu przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia, przejdź do artykułu Create a key-value (Tworzenie wartości klucza).

Key Wartość
TestApp:Ustawienia:BackgroundColor Biały
TestApp:Ustawienia:FontColor Czarny
TestApp:Ustawienia:FontSize 24
TestApp:Ustawienia:Message Dane z konfiguracji aplikacja systemu Azure

Tworzenie aplikacji internetowej ASP.NET Core

Użyj interfejsu wiersza polecenia platformy .NET, aby utworzyć nowy projekt aplikacji internetowej platformy ASP.NET Core. Usługa Azure Cloud Shell udostępnia te narzędzia. Są one również dostępne na platformach Windows, macOS i Linux.

Uruchom następujące polecenie, aby utworzyć aplikację internetową platformy ASP.NET Core w nowym folderze TestAppConfig :

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

Połączenie do sklepu App Configuration

  1. Przejdź do katalogu projektu TestAppConfig i uruchom następujące polecenie, aby dodać odwołanie do pakietu NuGet Microsoft.Azure.AppConfiguration.AspNetCore:

    dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
    
  2. Uruchom następujące polecenie: Polecenie używa programu Secret Manager do przechowywania wpisu tajnego o nazwie ConnectionStrings:AppConfig, który przechowuje parametry połączenia dla magazynu App Configuration. Zastąp <your_connection_string> symbol zastępczy parametry połączenia sklepu App Configuration. Parametry połączenia można znaleźć w obszarze Klucze dostępu sklepu App Configuration w witrynie Azure Portal.

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

    Napiwek

    Niektóre powłoki obcinają parametry połączenia, chyba że są ujęte w cudzysłowy. Upewnij się, że dane wyjściowe dotnet user-secrets list polecenia zawierają całą parametry połączenia. Jeśli tak nie jest, uruchom ponownie polecenie, umieszczając parametry połączenia w cudzysłowie.

    Program Secret Manager przechowuje wpis tajny poza drzewem projektu, co pomaga zapobiec przypadkowemu udostępnianiu wpisów tajnych w kodzie źródłowym. Służy tylko do testowania aplikacji internetowej lokalnie. Po wdrożeniu aplikacji na platformie Azure, takiej jak App Service, użyj ciągów Połączenie ion, ustawień aplikacji lub zmiennych środowiskowych do przechowywania parametry połączenia. Alternatywnie, aby uniknąć parametry połączenia wszystkich razem, możesz połączyć się z usługą App Configuration przy użyciu tożsamości zarządzanych lub innych tożsamości firmy Microsoft Entra.

  3. Otwórz Program.cs i dodaj aplikacja systemu Azure Configuration jako dodatkowe źródło konfiguracji, wywołując metodę AddAzureAppConfiguration .

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

    Ten kod połączy się z magazynem usługi App Configuration przy użyciu parametry połączenia i załaduje wszystkie wartości kluczy, które nie mają etykiet. Aby uzyskać więcej informacji na temat dostawcy usługi App Configuration, zobacz dokumentację interfejsu API dostawcy usługi App Configuration.

Odczyt ze sklepu App Configuration

W tym przykładzie zaktualizujesz stronę internetową, aby wyświetlić jej zawartość przy użyciu ustawień skonfigurowanych w magazynie App Configuration.

  1. Dodaj plik Ustawienia.cs w katalogu głównym katalogu projektu. Definiuje silnie typizowana Settings klasę dla konfiguracji, której chcesz użyć. Zastąp przestrzeń nazw nazwą projektu.

    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. Powiąż sekcję TestApp:Settings w konfiguracji z obiektem Settings .

    Zaktualizuj Program.cs przy użyciu następującego kodu i dodaj TestAppConfig przestrzeń nazw na początku pliku.

    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. Otwórz Index.cshtml.cs w katalogu Pages i zaktualizuj klasę IndexModel przy użyciu następującego kodu. using Microsoft.Extensions.Options Dodaj przestrzeń nazw na początku pliku, jeśli jeszcze nie istnieje.

    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. Otwórz plik Index.cshtml w katalogu Pages i zaktualizuj zawartość przy użyciu następującego kodu.

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

Lokalne kompilowanie i uruchamianie aplikacji

  1. Aby skompilować aplikację przy użyciu interfejsu wiersza polecenia platformy .NET, przejdź do katalogu głównego projektu. Uruchom następujące polecenie w powłoce poleceń:

    dotnet build
    
  2. Po pomyślnym zakończeniu kompilacji uruchom następujące polecenie, aby uruchomić aplikację internetową lokalnie:

    dotnet run
    
  3. Dane wyjściowe dotnet run polecenia zawierają dwa adresy URL. Otwórz przeglądarkę i przejdź do jednego z tych adresów URL, aby uzyskać dostęp do aplikacji. Na przykład: https://localhost:5001.

    Jeśli pracujesz w usłudze Azure Cloud Shell, wybierz przycisk Podgląd sieci Web, a następnie pozycję Konfiguruj. Po wyświetleniu monitu o skonfigurowanie portu dla wersji zapoznawczej wprowadź wartość 5000 i wybierz pozycję Otwórz i przeglądaj.

    Screenshot of Azure Cloud Shell. Locate Web Preview.

    Strona internetowa wygląda następująco: Screenshot of the browser.Launching quickstart app locally.

Czyszczenie zasobów

Jeśli nie chcesz nadal korzystać z zasobów utworzonych w tym artykule, usuń utworzoną tutaj grupę zasobów, aby uniknąć naliczania opłat.

Ważne

Usunięcie grupy zasobów jest nieodwracalne. Grupa zasobów i wszystkie zasoby w niej są trwale usuwane. Upewnij się, że nie usuniesz przypadkowo nieprawidłowej grupy zasobów ani zasobów. Jeśli zasoby dla tego artykułu zostały utworzone w grupie zasobów zawierającej inne zasoby, które chcesz zachować, usuń każdy zasób oddzielnie z odpowiedniego okienka zamiast usuwać grupę zasobów.

  1. Zaloguj się do witryny Azure Portal i wybierz pozycję Grupy zasobów.
  2. W polu Filtruj według nazwy wprowadź nazwę grupy zasobów.
  3. Na liście wyników wybierz nazwę grupy zasobów, aby wyświetlić przegląd.
  4. Wybierz pozycję Usuń grupę zasobów.
  5. Zobaczysz prośbę o potwierdzenie usunięcia grupy zasobów. Wprowadź nazwę grupy zasobów, aby potwierdzić, a następnie wybierz pozycję Usuń.

Po kilku chwilach grupa zasobów i wszystkie jej zasoby zostaną usunięte.

Następne kroki

W ramach tego przewodnika Szybki start wykonasz następujące czynności:

  • Zainicjowano obsługę administracyjną nowego magazynu usługi App Configuration.
  • Połączenie do magazynu App Configuration przy użyciu biblioteki dostawcy usługi App Configuration.
  • Odczytaj wartości kluczy magazynu usługi App Configuration za pomocą biblioteki dostawcy konfiguracji.
  • Wyświetlić stronę internetową przy użyciu ustawień skonfigurowanych w magazynie usługi App Configuration.

Aby dowiedzieć się, jak skonfigurować aplikację internetową ASP.NET Core w celu dynamicznego odświeżania ustawień konfiguracji, przejdź do następnego samouczka.