Compartir a través de


Información general de .NET.NET Aspire

.NET Aspire es un conjunto de herramientas, plantillas y paquetes para construir aplicaciones observables y listas para su uso en producción. .NET Aspire se entrega a través de una colección de paquetes NuGet que abordan o mejoran desafíos específicos en el desarrollo de aplicaciones modernas. Las aplicaciones actuales suelen consumir un gran número de servicios, como bases de datos, mensajería y almacenamiento en caché, muchos de los cuales se admiten a través de .NET.NET Aspire Integrations. Para obtener información sobre el soporte técnico, consulte la directiva de soporte técnico de .NET.NET Aspire.

¿Por qué .NET.NET Aspire?

.NET .NET Aspire mejora la experiencia de crear aplicaciones que tienen una variedad de proyectos y recursos. Con mejoras de productividad en tiempo de desarrollo que emulan escenarios implementados, puede desarrollar rápidamente aplicaciones interconectadas. Diseñado para flexibilidad, .NET.NET Aspire le permite reemplazar o ampliar piezas con sus herramientas y flujos de trabajo preferidos. Entre las características clave se incluyen:

  • Dev-Time Orquestación: .NET.NET Aspire proporciona características para ejecutar y conectar aplicaciones de múltiples proyectos, recursos de contenedores y otras dependencias para entornos de desarrollo local.
  • Integrations: las integraciones de .NET Aspire son paquetes NuGet para servicios usados habitualmente, como Redis o Postgres, con interfaces estandarizadas que garantizan que se conectan de forma coherente y sin problemas con la aplicación.
  • Herramientas: .NET Aspire incluye plantillas de proyecto y experiencias de herramientas para Visual Studio, Visual Studio Codey la CLI de .NET para ayudarle a crear e interactuar con proyectos de .NET.NET Aspire.

Orquestación durante el desarrollo

En .NET.NET Aspire, la "orquestación" se centra principalmente en mejorar la experiencia de desarrollo local al simplificar la gestión de la configuración y las interconexiones de la aplicación. Es importante tener en cuenta que la orquestación de .NET.NET Aspireno está destinada a reemplazar los sistemas robustos usados en entornos de producción, como Kubernetes. En su lugar, es un conjunto de abstracciones que simplifican la configuración de la detección de servicios, las variables de entorno y las configuraciones de contenedor, lo que elimina la necesidad de tratar los detalles de implementación de bajo nivel. Con .NET.NET Aspire, el código tiene una experiencia de arranque coherente en cualquier máquina de desarrollo sin necesidad de pasos manuales complejos, lo que facilita la administración durante la fase de desarrollo.

.NET .NET Aspire orquestación ayuda con los siguientes asuntos:

  • composición de aplicaciones: especifique los proyectos, contenedores, ejecutables y recursos en la nube de .NET que componen la aplicación.
  • administración de cadenas de conexión y detección de servicios: el host de la aplicación inserta las cadenas de conexión correctas, las configuraciones de red y la información de detección de servicios para simplificar la experiencia del desarrollador.

Por ejemplo, con .NET Aspire, el código siguiente crea un recurso de contenedor de Redis local, espera a que esté disponible y, a continuación, configura la cadena de conexión adecuada en el proyecto de "frontend" con algunas llamadas al método auxiliar:

// 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);

Para obtener más información, consulte .NET.NET Aspire visión general de la orquestación.

Importante

La llamada a AddRedis crea un nuevo contenedor Redis en el entorno de desarrollo local. Si prefiere usar una instancia de Redis existente, puede usar el método AddConnectionString para hacer referencia a una cadena de conexión existente. Para obtener más información, vea Hacer referencia a los recursos existentes.

integraciones .NET.NET Aspire

.NET .NET Aspire integraciones son paquetes NuGet diseñados para simplificar las conexiones a servicios y plataformas populares, como Redis o PostgreSQL. .NET .NET Aspire integraciones controlan la configuración e interacción de recursos en la nube a través de patrones estandarizados, como agregar comprobaciones de estado y telemetría. Las integraciones son de dos tipos: integraciones de "alojamiento", que representan el servicio al que se conecta, y integraciones de "cliente", las cuales representan el cliente o consumidor de ese servicio. En otras palabras, para muchos paquetes de hospedaje hay un paquete de cliente correspondiente que controla la conexión de servicio dentro del código.

Cada integración está diseñada para trabajar con el host de aplicación de .NET.NET Aspire y sus configuraciones se insertan automáticamente hacer referencia a recursos con nombre. Es decir, si Example.ServiceFoo hace referencia a Example.ServiceBar, Example.ServiceFoo hereda las configuraciones necesarias de la integración para permitirles comunicarse entre sí automáticamente.

Por ejemplo, considere el código siguiente mediante la integración de .NET.NET Aspire Service Bus:

builder.AddAzureServiceBusClient("servicebus");

El método AddAzureServiceBusClient maneja los siguientes problemas:

  • Registra un ServiceBusClient como singleton en el contenedor de inserción de dependencias para conectarse a Azure Service Bus.
  • Aplica configuraciones ServiceBusClient ya sea directamente en el código o a través de la configuración.
  • Habilita las comprobaciones de estado, el registro y la telemetría específicas correspondientes al uso de Azure Service Bus.

Una lista completa de las integraciones disponibles se detalla en la página de resumen de integraciones .NET.NET Aspire.

Plantillas de proyecto y herramientas

.NET Aspire proporciona un conjunto de plantillas de proyecto y experiencias de herramientas para Visual Studio, Visual Studio Code, y la línea de comandos CLI .NET. Estas plantillas están diseñadas para ayudarle a crear e interactuar con proyectos de .NET Aspire o agregar .NET Aspire al código base existente. Las plantillas incluyen un conjunto de valores predeterminados bien definidos para ayudarle a empezar a trabajar rápidamente; por ejemplo, tiene código reutilizable para activar comprobaciones de estado y registrar eventos en aplicaciones .NET. Estos valores predeterminados son totalmente personalizables, por lo que puede editarlos y adaptarlos para adaptarlos a sus necesidades.

.NET .NET Aspire plantillas también incluyen métodos de extensión predefinidos que gestionan las configuraciones comunes de servicio.

builder.AddServiceDefaults();

Para obtener más información sobre lo que AddServiceDefaults hace, consulte .NET.NET Aspire los valores predeterminados del servicio.

Cuando se agrega al archivo Program.cs, el código previo resuelve los siguientes problemas:

  • OpenTelemetry: Configura el registro con formato, las métricas de tiempo de ejecución, los medidores integrados y el seguimiento para ASP.NET Core, gRPC y HTTP. Para obtener más información, consulte .NET.NET Aspire telemetría.
  • verificaciones de estado predeterminadas: agrega puntos finales de verificación de estado predeterminados que las herramientas pueden consultar para supervisar tu aplicación. Para obtener más información, consulte .NET verificaciones del estado de la aplicación en C#.
  • service discovery: Permite la detección de servicios para la aplicación y configura HttpClient en consecuencia.

Pasos siguientes

Inicio Rápido: Crea tu primer proyecto de .NET.NET Aspire