Lo sviluppo di applicazioni distribuite in .NET è da sempre un grosso vantaggio, ma difficilmente attuabile a causa della sua complessità. Fra orchestrazione locale, configurazione dei servizi, visibilità operativa e collegamenti tra API, worker, queue e database, il rischio di perdersi nei dettagli è concreto.
Con .NET Aspire, in questo e nei prossimi script, introduciamo un nuovo framework pensato per semplificare radicalmente la vita dello sviluppatore. Un'infrastruttura con funzionalità specifiche ma estendibile, con focus su produttività, modularità e cloud-native development.
Nella sua versione base (out-of-the-box), o con piccole librerie di espansione, possiamo già
- Orchestrare progetti e container localmente
- Configurare logging, OpenTelemetry e retry
- Usare componenti esterni (Redis, PostgreSQL, SQS, ecc.) senza gestirne i Docker a mano
- Integrare strumenti di osservabilità (dashboard, logs, tracing)
Il vero valore di .NET Aspire è nel riuscire ad elevare tutta l'infrastruttura configurata localmente all'interno di un ambiente cloud come Docker, Azure Container Apps o Kubernetes.
Per iniziare, e creare il progetto possiamo usare la CLI o la GUI di VisualStudio
# crea un'applicazione standalone .NET Aspire $ dotnet new aspire-apphost -n MyAspireApp # crea un progetto frontend/backend e .NET Aspire $ dotnet new aspire-starter -n MyAspireApp
La soluzione risultante sarà così composta da:
- ApiService e Web: backend / frontend
- AppHost: motore di .NET Aspire
- ServiceDefaults: logging, OpenTelemetry e retry
Per avviare la dashboard è sufficiente eseguire il progetto AppHost e navigare all'indirizzo mostrato, che mostrerà i progetti attivi, i componenti esterni integrati, log e metriche.
$ dotnet run --project MyAspireApp.AppHost
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Generare velocemente pagine CRUD in Blazor con QuickGrid
Utilizzare Hybrid Cache in .NET 9
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
.NET Conference Italia 2024
Utilizzare Azure AI Studio per testare i modelli AI
Gestione file Javascript in Blazor con .NET 9
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Managed deployment strategy in Azure DevOps
Effettuare il refresh dei dati di una QuickGrid di Blazor
I più letti di oggi
- Organizzare i moduli sfruttando CommonJS in Javascript
- .NET Aspire per applicazioni distribuite
- Animare la rotazione di un'immagine dentro un canvas in HTML5
- Importare un file JavaScript in un web worker
- .NET Conference Italia 2024 - Milano
- La nostra prova su strada di Windows Phone 7
- Utilizzare Hybrid Cache in .NET 9
- Autenticazione di git tramite Microsoft Entra ID in Azure DevOps