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 WhenEach per processare i risultati di una lista di task
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Creare una libreria CSS universale: Cards
Gestione dei nomi con le regole @layer in CSS
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Creare agenti facilmente con Azure AI Agent Service
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Ottenere un token di accesso per una GitHub App
Path addizionali per gli asset in ASP.NET Core MVC
.NET Conference Italia 2024
Eliminare una project wiki di Azure DevOps
Combinare Container Queries e Media Queries