.NET Aspire proporciona APIs para expresar recursos y dependencias dentro de tu aplicación distribuida. Además de estas APIs, hay herramientas que permiten algunos escenarios interesantes. El orquestador está destinado a fines de desarrollo local.
Antes de continuar, considera algunos términos comunes utilizados en .NET Aspire:
- Modelo de aplicación: Una colección de recursos que conforman tu aplicación distribuida (DistributedApplication).
- Proyecto de anfitrión de aplicación/orquestador: El proyecto .NET que orquesta el modelo de aplicación, nombrado con el sufijo *.AppHost (por convención).
- Recurso: Un recurso representa una parte de una aplicación, ya sea un proyecto .NET, un contenedor, un ejecutable u otro recurso como una base de datos, una caché o un servicio en la nube (como un servicio de almacenamiento).
- Referencia: Una referencia define una conexión entre recursos, expresada como una dependencia mediante la API
WithReference
.
-
Agrega un nuevo proyecto a la solución llamado
AppHost
:- Haz clic derecho en la solución y selecciona
Agregar
>Nuevo proyecto
. - Selecciona la plantilla de proyecto
.NET Aspire App Host
. - Nombra el proyecto
AppHost
. - Haz clic en
Siguiente
>Crear
.
- Haz clic derecho en la solución y selecciona
-
Crea un nuevo proyecto utilizando el comando
dotnet new aspire-apphost
:dotnet new aspire-apphost -n AppHost
-
Agrega una referencia a los proyectos
Api
yMyWeatherHub
en el nuevo proyectoAppHost
:- Haz clic derecho en el proyecto
AppHost
y seleccionaAgregar
>Referencia
.- Marca los proyectos
Api
yMyWeatherHub
y haz clic enAceptar
.
- Marca los proyectos
Consejo: En Visual Studio 2022, puedes arrastrar y soltar el proyecto sobre otro proyecto para agregar una referencia.
- Haz clic derecho en el proyecto
-
Cuando se agregan estas referencias, los generadores de código fuente generan automáticamente el código necesario para referenciar los proyectos en el anfitrión de la aplicación.
-
En el proyecto
AppHost
, actualiza el archivoProgram.cs
, agregando la siguiente línea inmediatamente después de la líneavar builder = DistributedApplication.CreateBuilder(args);
:var api = builder.AddProject<Projects.Api>("api"); var web = builder.AddProject<Projects.MyWeatherHub>("myweatherhub");
-
Establece el proyecto
AppHost
como proyecto de inicio en Visual Studio haciendo clic derecho enAppHost
y seleccionandoEstablecer como proyecto predeterminado
. -
Si estás utilizando Visual Studio Code, abre el archivo
launch.json
y reemplaza todo el contenido con lo siguiente:{ "version": "0.2.0", "configurations": [ { "name": "Ejecutar AppHost", "type": "dotnet", "request": "launch", "projectPath": "${workspaceFolder}\\AppHost\\AppHost.csproj" } ] }
-
Ejecuta el anfitrión de la aplicación utilizando el panel
Ejecutar y depurar
en Visual Studio Code o Visual Studio. -
El Panel de control de .NET Aspire se abrirá en tu navegador predeterminado y mostrará los recursos y dependencias de tu aplicación.
-
Abre el panel del clima haciendo clic en el punto de conexión para
MyWeatherHub
, que será https://localhost:7274. -
Observa que los proyectos
Api
yMyWeatherHub
se están ejecutando en el mismo proceso y pueden comunicarse entre sí de la misma manera que antes utilizando la configuración. -
Haz clic en el botón
Ver registros
para ver los registros de los proyectosApi
yMyWeatherHub
. -
Selecciona la pestaña
Traces
y seleccionaVer
en un rastro donde se llame a la API. -
Explora la pestaña
Métricas
para ver las métricas de los proyectosApi
yMyWeatherHub
.
-
Abre la pestaña
Estructurado
en el panel de control. -
Establece el
Nivel
enError
y observa que no aparecen errores. -
En el sitio web de
MyWeatherApp
, haz clic en varias ciudades diferentes para generar errores. Por lo general, 5 ciudades diferentes generarán un error. -
Después de generar los errores, la pestaña
Estructurado
se actualizará automáticamente en el panel de control y observa que se muestran los errores. -
Haz clic en el
Rastro
o en losDetalles
para ver el mensaje de error y la traza de la pila.