Dowiedz się, jak utworzyć nowy projekt .NET Aspire
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:
- .NET 8
- Visual Studio 2022 (wersja zapoznawcza)
- Docker Desktop lub Podman
- Obciążenie .NET Aspire w programie Visual Studio
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 jestIDistributedApplicationBuilder
.Utwórz zmienną
cache
, która jestIResourceBuilder<RedisResource>
.Wywołaj metodę
AddProject
z parametrem typu ogólnego zawierającym szczegóły projektuIServiceMetadata
, 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 celuWithReference
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
iRun
uruchomienia aplikacji.