Поделиться через


обзор .NET.NET Aspire

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

Почему .NET.NET Aspire?

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

  • Dev-Time управления: .NET.NET Aspire предоставляет функции для запуска и подключения многопроектных приложений, контейнерных ресурсов и других зависимостей в локальных средах разработки.
  • интеграции: .NET Aspire интеграции — это пакеты NuGet для часто используемых служб, таких как Redis или Postgres, со стандартизированными интерфейсами, обеспечивающими согласованное и простое подключение к приложению.
  • инструментирования: поставляется с шаблонами проектов и инструментами для , и интерфейса командной строки для создания и взаимодействия с проектами .

Оркестрация во время разработки

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

.NET .NET Aspire оркестрация содействует в решении следующих проблем:

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

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

// Create a distributed application builder given the command line arguments.
var builder = DistributedApplication.CreateBuilder(args);

// Add a Redis server to the application.
var cache = builder.AddRedis("cache");

// Add the frontend project to the application and configure it to use the 
// Redis server, defined as a referenced dependency.
builder.AddProject<Projects.MyFrontend>("frontend")
       .WithReference(cache)
       .WaitFor(cache);

Дополнительные сведения см. в обзоре оркестрации .NET.NET Aspire.

Важный

Вызов AddRedis создает новый контейнер Redis в локальной среде разработки. Если вы предпочитаете использовать существующий экземпляр Redis, можно использовать метод AddConnectionString для ссылки на существующую строку подключения. Дополнительные сведения см. в статье Справочник по существующим ресурсам.

интеграции .NET.NET Aspire

.NET .NET Aspire интеграции — это пакеты NuGet, предназначенные для упрощения подключений к популярным службам и платформам, например Redis или PostgreSQL. .NET .NET Aspire интеграции управляют настройкой и взаимодействием облачных ресурсов с помощью стандартизированных шаблонов, таких как добавление проверок работоспособности и телеметрии. Интеграции являются двухходовыми: интеграции типа «размещение» представляют собой сервис, к которому вы подключаетесь, а интеграции типа «клиент» представляют клиента или потребителя этого сервиса. Другими словами, для многих пакетов хостинга существует соответствующий клиентский пакет, который обрабатывает подключение к службе внутри вашего кода.

Каждая интеграция предназначена для работы с хостом приложения .NET.NET Aspire, а их конфигурации автоматически внедряются путем ссылки на именованные ресурсы. Другими словами, если Example.ServiceFoo ссылается на Example.ServiceBar, Example.ServiceFoo наследует необходимые конфигурации интеграции, чтобы разрешить им взаимодействовать друг с другом автоматически.

Например, рассмотрим следующий код, используя интеграцию Service Bus .NET.NET Aspire:

builder.AddAzureServiceBusClient("servicebus");

Метод AddAzureServiceBusClient обрабатывает следующие проблемы:

  • Регистрирует ServiceBusClient в качестве одиночки в контейнере DI для подключения к Azure Service Bus.
  • Применяет конфигурации ServiceBusClient либо непосредственно через код, либо через конфигурацию.
  • Включает соответствующие проверки работоспособности, логирование и телеметрию, относящиеся к использованию Azure Service Bus.

Полный список доступных интеграции подробно описан на странице обзора интеграции .NET.NET Aspire.

Шаблоны проектов и инструменты разработки

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

.NET .NET Aspire шаблоны также включают стандартные методы расширения, которые обрабатывают конфигурации общих служб для вас:

builder.AddServiceDefaults();

Дополнительные сведения о том, что делает AddServiceDefaults, см. в .NET.NET Aspire параметрах службы по умолчанию.

При добавлении в файл Program.cs указанный выше код обрабатывает следующие проблемы:

  • OpenTelemetry. Настраивает форматированное ведение журнала, метрики среды выполнения, встроенные счетчики и трассировку для ASP.NET Core, gRPC и HTTP. Для получения дополнительной информации см. .NET.NET Aspireо телеметрии.
  • стандартные проверки работоспособности: добавляет эндпоинты стандартной проверки работоспособности, которые могут запрашиваться инструментами для мониторинга вашего приложения. Дополнительные сведения см. в разделе проверки работоспособности приложений в C# .NET.
  • Обнаружение служб: включает обнаружение служб для приложения и настраивает HttpClient соответствующим образом.

Дальнейшие действия

Краткое руководство по . Создание первого проекта .NET.NET Aspire