Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
.NET .NET Aspire provides tools, templates, and packages to help you build observable, production-ready apps. Delivered through NuGet packages, .NET.NET Aspire simplifies common challenges in modern app development. Today's apps often rely on multiple services like databases, messaging, and caching, many supported by .NET.NET Aspire Integrations. For the official support information, see the .NET.NET Aspire Support Policy.
¿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 Orchestration: .NET.NET Aspire provides features for running and connecting multi-project applications, container resources, and other dependencies for local development environments.
- 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.
Dev-time orchestration
In .NET.NET Aspire, "orchestration" primarily focuses on enhancing the local development experience by simplifying the management of your app's configuration and interconnections. 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 orchestration assists with the following concerns:
- 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);
For more information, see .NET.NET Aspire orchestration overview.
Important
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.
.NET .NET Aspire integrations
.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 integrations handle cloud resource setup and interaction for you through standardized patterns, such as adding health checks and telemetry. Integrations are two-fold - "hosting" integrations represents the service you're connecting to, and "client" integrations represents the client or consumer of that service. 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.
Each integration is designed to work with the .NET.NET Aspire app host, and their configurations are injected automatically by referencing named resources. 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 un singleton en el contenedor DI para conectarse a Azure Service Bus.
- Aplica configuraciones ServiceBusClient ya sea directamente en el código o a través de la configuración.
- Enables corresponding health checks, logging, and telemetry specific to the Azure Service Bus usage.
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. The templates include a set of opinionated defaults to help you get started quickly - for example, it has boilerplate code for turning on health checks and logging in .NET apps. Estos valores predeterminados son totalmente personalizables, por lo que puede editarlos y adaptarlos para adaptarlos a sus necesidades.
.NET .NET Aspire templates also include boilerplate extension methods that handle common service configurations for you:
builder.AddServiceDefaults();
Para obtener más información sobre lo que AddServiceDefaults
hace, consulte .NET.NET Aspire los valores predeterminados del servicio.
When added to your Program.cs file, the preceding code handles the following concerns:
- 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.
- Default health checks: Adds default health check endpoints that tools can query to monitor your app. For more information, see .NET app health checks in C#.
- Service discovery: Enables service discovery for the app and configures HttpClient accordingly.