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
Gestire il colore CSS con HWB
Managed deployment strategy in Azure DevOps
Effettuare il refresh dei dati di una QuickGrid di Blazor
Migliorare l'organizzazione delle risorse con Azure Policy
.NET Conference Italia 2024
Ottenere un token di accesso per una GitHub App
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Collegare applicazioni server e client con .NET Aspire
Generare la software bill of material (SBOM) in GitHub
Ricevere notifiche sui test con Azure Load Testing
Potenziare la ricerca su Cosmos DB con Full Text Search