Узнайте, как создать новый проект .NET Aspire

Завершено

Для разработки на основе облака разработчикам может потребоваться объединить различные микрослужбы, такие как базы данных, очереди обмена сообщениями и кэши. .NET Aspire упрощает этот процесс, предоставляя набор шаблонов, которые можно использовать для создания подключений между этими службами и управления ими.

В этом уроке вы узнаете, как создать проект .NET Aspire и понять различия между двумя начальными шаблонами проектов. Затем изучите структуру созданного решения.

Предварительные требования для .NET Aspire

Прежде чем создать новый проект .NET Aspire, необходимо установить некоторые предварительные требования локально.

В следующем упражнении вы узнаете, как установить эти предварительные требования.

Выберите лучший шаблон .NET Aspire для проекта

В настоящее время доступны два начальных шаблона .NET Aspire:

  • Приложение .NET Aspire: этот шаблон является хорошей отправной точкой для новых проектов. Он включает только проекты AspireSample.AppHost и AspireSample.ServiceDefaults . Этот шаблон полезен, если вы хотите начать с нуля и добавить собственные компоненты и службы.

  • Начальное приложение .NET Aspire: этот шаблон включает проекты AspireSample.AppHost и AspireSample.ServiceDefaults , но также включает пример приложения Blazor App AspireSample.Web и API, предоставляющий данные для него AspireSample.ApiService. Эти проекты предварительно настроены с помощью обнаружения служб и других основных примеров распространенных функциональных возможностей .NET Aspire.

Обе шаблоны Aspire предоставляют панель мониторинга для мониторинга работоспособности служб и трафика между ними. Панель мониторинга помогает улучшить локальный интерфейс разработки, как показано на первый взгляд, в нем представлен обзор состояния и структуры приложения.

Доступны три шаблона проекта:

  • Узел приложения .NET Aspire: шаблон, содержащий только проект узла приложения (orchestrator).
  • По умолчанию службы .NET Aspire: шаблон, содержащий только проект службы по умолчанию.
  • Проект теста .NET Aspire: шаблон, содержащий только модульные тесты для проекта узла приложения.

Создание проекта .NET Aspire с помощью шаблона .NET Aspire

Диалоговое окно запуска Visual Studio можно использовать для создания нового проекта .NET Aspire или создания файла>>проекта. Вы также можете использовать команды .NET CLI. Чтобы создать решение с помощью шаблона приложения .NET Aspire, используйте следующую команду:

dotnet new aspire 

Кроме того, чтобы использовать шаблон начального приложения .NET Aspire, используйте следующую команду:

dotnet new aspire-starter

Преимуществом использования Visual Studio является выбор параметров конфигурации с помощью диалоговых окон. Команды .NET CLI полезны, если вы хотите создать новый проект .NET Aspire с параметрами по умолчанию, но можно изменить значения по умолчанию с необязательными флагами. В следующем упражнении вы узнаете, как создать новый проект .NET Aspire с помощью обоих методов.

Изучите структуру решений, созданных шаблонами .NET Aspire

Шаблоны .NET Aspire создают решение с определенной структурой. Эта структура представляет собой упрощенную схему для начального приложения без включенных параметров кэширования или тестирования:

────📂 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

Оба шаблона добавляют проекты AppHost и ServiceDefaults . Эти проекты являются основой приложения, созданного с помощью .NET Aspire. Проект AppHost является точкой входа и отвечает за роль оркестратора.

Проект ServiceDefaults содержит конфигурацию по умолчанию для приложения. Эти конфигурации повторно используются во всех проектах в решении.

Приведенное выше решение также включает проекты Web и ApiService . Веб-проект — это приложение Blazor WebAssembly, которое имеет счетчик и вызывает ApiService для получения данных прогноза. ApiService — это простой API, который возвращает данные прогноза.

Пошаговое руководство по структуре кода

Проект AspireSample.AppHost содержит следующий код в 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();

Пройдя по приведенному выше коду, построим по строке:

  • Создайте переменнуюbuilder, которая является .IDistributedApplicationBuilder

  • Создайте переменнуюcache, которая является .IResourceBuilder<RedisResource>

  • Вызовите AddProject параметр универсального типа, содержащий сведения о проекте IServiceMetadata , добавив проект AspireSample.ApiService в модель приложения.

    Это фундаментальный стандартный блок .NET Aspire. Служба AddProject настраивает обнаружение служб и обмен данными между проектами в приложении. Служба api аргументов имени используется для идентификации проекта в модели приложения и используется позже проектами, которые хотят взаимодействовать с ним.

  • Вызовы AddProject снова, на этот раз добавьте проект AspireSample.Web в модель приложения. Он также объединяет несколько вызовов для WithReference передачи переменных кэша и apiservice.

    WithReference API является еще одним фундаментальным API .NET Aspire, который внедряет сведения об обнаружении служб или строка подключения конфигурацию в проект, добавляемый в модель приложения.

  • Наконец, builder вызовы Build и Run запуск приложения.