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
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Creare una libreria CSS universale: Nav menu
Utilizzare Hybrid Cache in .NET 9
Configurare lo startup di applicazioni server e client con .NET Aspire
Ottimizzare le performance usando Span<T> e il metodo Split
Simulare Azure Cosmos DB in locale con Docker
Gestione CSS in Blazor con .NET 9
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Referenziare un @layer più alto in CSS
Utilizzare il trigger SQL con le Azure Function
Implementare l'infinite scroll con QuickGrid in Blazor Server
Ottimizzare le pull con Artifact Cache di Azure Container Registry