Dowiedz się, jak utworzyć nowy projekt .NET Aspire

Ukończone

Programowanie natywne dla chmury może wymagać od deweloperów łączenia się ze sobą różnych mikrousług, takich jak bazy danych, kolejki obsługi komunikatów i pamięci podręczne. Program .NET Aspire upraszcza ten proces, udostępniając zestaw szablonów, których można użyć do tworzenia połączeń między tymi usługami i zarządzania nimi.

W tej lekcji dowiesz się, jak utworzyć nowy projekt .NET Aspire i zrozumieć różnice między dwoma szablonami projektów startowych. Następnie zapoznaj się ze strukturą wygenerowanego rozwiązania.

Wymagania wstępne platformy .NET Aspire

Przed utworzeniem nowego projektu .NET Aspire należy zainstalować lokalnie pewne wymagania wstępne:

W następnym ćwiczeniu wykonasz kroki instalacji tych wymagań wstępnych.

Wybieranie najlepszego szablonu .NET Aspire dla projektu

Obecnie dostępne są dwa szablony startowe platformy .NET Aspire:

  • Aplikacja .NET Aspire: ten szablon jest dobrym punktem wyjścia dla nowych projektów. Obejmuje tylko projekty AspireSample.AppHost i AspireSample.ServiceDefaults . Ten szablon jest przydatny, gdy chcesz zacząć od podstaw i dodać własne składniki i usługi.

  • Aplikacja startowa .NET Aspire: ten szablon zawiera projekty AspireSample.AppHost i AspireSample.ServiceDefaults , ale także przykładowe projekty Blazor App AspireSample.Web i interfejs API dostarczający dane do niego AspireSample.ApiService. Te projekty są wstępnie skonfigurowane z odnajdywaniem usług i innymi podstawowymi przykładami typowych funkcji platformy .NET Aspire.

Oba szablony aspirują do monitorowania kondycji usług i ruchu między nimi. Pulpit nawigacyjny pomaga ulepszyć środowisko programowania lokalnego — na pierwszy rzut oka zapewnia przegląd stanu i struktury aplikacji.

Dostępne są również trzy szablony projektów:

  • Host aplikacji aspirujących platformy .NET: szablon, który zawiera tylko projekt hosta aplikacji (orkiestratora).
  • Wartości domyślne usługi aspirowania platformy .NET: szablon, który zawiera tylko projekt domyślny usługi.
  • Projekt testowy .NET Aspire: szablon zawierający tylko testy jednostkowe projektu hosta aplikacji.

Tworzenie nowego projektu .NET Aspire przy użyciu szablonu .NET Aspire

Możesz użyć okna dialogowego uruchamiania programu Visual Studio, aby utworzyć nowy projekt .NET Aspire lub Plik>nowy>projekt. Możesz również użyć poleceń interfejsu wiersza polecenia platformy .NET. Aby utworzyć rozwiązanie za pomocą szablonu aplikacji .NET Aspire, użyj następującego polecenia:

dotnet new aspire 

Możesz też użyć szablonu aplikacji startowej .NET Aspire, użyj następującego polecenia:

dotnet new aspire-starter

Zaletą korzystania z programu Visual Studio jest wybranie opcji konfiguracji za pomocą okien dialogowych. Polecenia interfejsu wiersza polecenia platformy .NET są przydatne, gdy chcesz utworzyć nowy projekt .NET Aspire z ustawieniami domyślnymi, ale możesz zmienić ustawienia domyślne przy użyciu opcjonalnych flag. W następnym ćwiczeniu zobaczysz, jak utworzyć nowy projekt .NET Aspire przy użyciu obu metod.

Eksplorowanie struktury rozwiązań generowanych przez szablony platformy .NET Aspire

Szablony platformy .NET Aspire generują rozwiązanie o określonej strukturze. Ta struktura jest uproszczonym diagramem dla aplikacji początkowej bez włączonej opcji buforowania lub testowania:

────📂 AspireSample
     ├───📂 AspireSample.ApiService
     │    ├───📂 Properties
     │    │    └─── launchSettings.json
     │    ├─── appsettings.json
     │    ├─── AspireSample.ApiService.csproj
     │    └─── Program.cs
     ├───📂 AspireSample.AppHost
     │    ├───📂 Properties
     │    │    └─── launchSettings.json
     │    ├─── appsettings.json
     │    ├─── AspireSample.AppHost.csproj
     │    └─── Program.cs
     ├───📂 AspireSample.ServiceDefaults
     │    ├─── AspireSample.ServiceDefaults.csproj
     │    └─── Extensions.cs
     ├───📂 AspireSample.Web
     │    ├───📂 Components
     │    │    ├───📂 Layout
     │    │    │    ├─── ...
     │    │    ├───📂 Pages
     │    │    │    ├─── ...
     │    │    ├─── ...
     │    ├───📂 Properties
     │    │    └─── launchSettings.json
     │    ├───📂 wwwroot
     │    │    ├───...
     │    ├─── appsettings.json
     │    ├─── AspireSample.Web.csproj
     │    ├─── Program.cs
     │    └─── WeatherApiClient.cs
     └─── AspireSample.sln

Oba szablony dodają projekty AppHost i ServiceDefaults . Te projekty są podstawą aplikacji utworzonej za pomocą platformy .NET Aspire. Projekt AppHost jest punktem wejścia i jest odpowiedzialny za działanie jako koordynator.

Projekt ServiceDefaults zawiera domyślną konfigurację aplikacji. Te konfiguracje są ponownie używane we wszystkich projektach w rozwiązaniu.

Powyższe rozwiązanie obejmuje również projekty Web i ApiService . Projekt internetowy to aplikacja zestawu WebAssembly platformy Blazor, która ma licznik i wywołuje usługę ApiService , aby uzyskać dane prognozy. Usługa ApiService to prosty interfejs API, który zwraca dane prognozy.

Zapoznaj się ze strukturą kodu

Projekt AspireSample.AppHost ma następujący kod w Program.cs:

var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddRedis("cache");

var apiService = builder.AddProject<Projects.AspireStarterSample_ApiService>("apiservice");

builder.AddProject<Projects.AspireStarterSample_Web>("webfrontend")
    .WithReference(cache)
    .WithReference(apiService);

builder.Build().Run();

Przechodząc przez powyższy kod, wiersz według wiersza:

  • Utwórz zmienną builder , która jest IDistributedApplicationBuilder.

  • Utwórz zmienną cache , która jest IResourceBuilder<RedisResource>.

  • Wywołaj metodę AddProject z parametrem typu ogólnego zawierającym szczegóły projektu IServiceMetadata , dodając projekt AspireSample.ApiService do modelu aplikacji.

    Jest to podstawowy blok konstrukcyjny platformy .NET Aspire. Element AddProject konfiguruje odnajdywanie usługi i komunikację między projektami w aplikacji. Argument nazwy apiservice służy do identyfikowania projektu w modelu aplikacji i używanego później przez projekty, które chcą się z nim komunikować.

  • Wywołaj AddProject ponownie, tym razem dodając projekt AspireSample.Web do modelu aplikacji. Tworzy również wiele wywołań w celu WithReference przekazywania zmiennych pamięci podręcznej i interfejsu APIservice.

    Interfejs WithReference API to kolejny podstawowy interfejs API platformy .NET Aspire, który wprowadza informacje o odnajdowaniu usługi lub parametry połączenia konfigurację do projektu dodawanego do modelu aplikacji.

  • Na koniec wywołania builder Build i Run uruchomienia aplikacji.