Información general de .NET.NET Aspire
.NET Aspire es un conjunto de herramientas, plantillas y paquetes eficaces para compilar aplicaciones observables y listas para producción. .NET Aspire se entrega a través de una colección de paquetes NuGet que controlan preocupaciones específicas nativas de la nube. Las aplicaciones nativas de la nube suelen constar de pequeños microservicios o piezas interconectadas en lugar de una base de código monolítica única. Las aplicaciones nativas de la nube suelen consumir un gran número de servicios, como bases de datos, mensajería y almacenamiento en caché. Para obtener información sobre el soporte técnico, consulte la directiva de soporte técnico de .NET.NET Aspire.
Una aplicación distribuida es una que usa recursos de computacional en varios nodos, como contenedores que se ejecutan en distintos hosts. Estos nodos deben comunicarse a través de los límites de red para entregar respuestas a los usuarios. Una aplicación nativa de nube es un tipo específico de aplicación distribuida que aprovecha al máximo la escalabilidad, resistencia y capacidad de administración de las infraestructuras en la nube.
¿Por qué .NET.NET Aspire?
.NET Aspire está diseñado para mejorar la experiencia de creación de aplicaciones nativas de .NET nube. Proporciona un conjunto coherente y con un enfoque específico de herramientas y patrones que le ayudan a desarrollar y ejecutar aplicaciones distribuidas. .NET .NET Aspire está diseñado para ayudarle con:
- Orquestación: .NET.NET Aspire proporciona características para ejecutar y conectar aplicaciones multiproyecto y sus 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
En .NET.NET Aspire, la orquestación se centra principalmente en mejorar la experiencia de desarrollo local al simplificar la administración de la configuración e interconexión de tu aplicación nativa de la nube. 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, proporciona 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. Estas abstracciones garantizan un patrón de configuración coherente entre aplicaciones con numerosas integraciones y servicios, lo que facilita la administración de aplicaciones complejas 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.
- Detección de servicios y administración de cadenas de conexión: el host de la aplicación se encarga de inyectar las cadenas de conexión adecuadas o configuraciones de red e 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 gestionan muchas cuestiones nativas de la nube mediante patrones de configuración estandarizados, como la adición de verificaciones de salud y telemetría. Las integraciones son duales, ya que un lado representa el servicio al que se conecta, y el otro representa al client o consumidor de ese servicio. En otras palabras, para cada paquete de hospedaje hay un paquete de client correspondiente que controla la conexión de servicio.
Cada integración está diseñada para trabajar con la orquestación de
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.NET Aspire. Las plantillas son predefinidas y vienen con un conjunto de valores predeterminados que te ayudan a comenzar rápidamente. Incluyen código reutilizable y configuraciones que son comunes a las aplicaciones nativas de la nube, como la telemetría, las comprobaciones de estado y la detección de servicios. Para obtener más información, consulte plantillas de .NET.NET Aspire.
.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