Panoramica di .NET.NET Aspire
.NET Aspire è un set di potenti strumenti, modelli e pacchetti per la creazione di app osservabili e pronte per la produzione. .NET Aspire viene distribuito tramite una raccolta di pacchetti NuGet che gestiscono problemi specifici nativi del cloud. Le app native del cloud spesso sono costituite da piccole parti interconnesse o microservizi anziché da una singola codebase monolitica. Le app native del cloud in genere usano un numero elevato di servizi, ad esempio database, messaggistica e memorizzazione nella cache. Per informazioni sul supporto, vedere i criteri di supporto .NET.NET Aspire.
Un'applicazione distribuita è una che usa risorse di calcolo tra più nodi, ad esempio i contenitori in esecuzione in host diversi. Tali nodi devono comunicare oltre i limiti di rete per fornire risposte agli utenti. Un'app nativa del cloud è un tipo specifico di app distribuita che sfrutta appieno la scalabilità, la resilienza e la gestibilità delle infrastrutture cloud.
Perché .NET.NET Aspire?
.NET Aspire è progettato per migliorare l'esperienza di creazione di app native del cloud .NET. Fornisce un insieme coerente e specifico di strumenti e modelli che aiutano a sviluppare ed eseguire app distribuite. .NET .NET Aspire è progettato per aiutarti a:
- Orchestrazione: .NET.NET Aspire fornisce funzionalità per l'esecuzione e la connessione di applicazioni multi-progetto e le relative dipendenze per ambienti di sviluppo locali.
- Integrations: le integrazioni di .NET Aspire sono pacchetti NuGet per i servizi di uso comune, ad esempio Redis o Postgres, con interfacce standardizzate che garantiscono la connessione coerente e uniforme con l'app.
- tooling: .NET Aspire include modelli di progetto ed esperienze di tooling per Visual Studio, Visual Studio Codee l'interfaccia a riga di comando .NET CLI per facilitare la creazione e l'interazione con i progetti .NET.NET Aspire.
Orchestrazione
In
.NET .NET Aspire l'orchestrazione è utile per i problemi seguenti:
- Composizione app: specificare i progetti .NET, i contenitori, i file eseguibili e le risorse cloud che costituiscono l'applicazione.
- l'individuazione del servizio e la gestione delle stringhe di connessione: l'host dell'app riesce a inserire le stringhe di connessione corrette o le configurazioni di rete e le informazioni di individuazione dei servizi per semplificare l'esperienza di sviluppo.
Ad esempio, usando .NET Aspire, il codice seguente crea una risorsa contenitore Redis locale, attende che diventi disponibile e quindi configura la stringa di connessione appropriata nel progetto "frontend"
con alcune chiamate al metodo helper:
// Create a distributed application builder given the command line arguments.
var builder = DistributedApplication.CreateBuilder(args);
// Add a Redis server to the application.
var cache = builder.AddRedis("cache");
// Add the frontend project to the application and configure it to use the
// Redis server, defined as a referenced dependency.
builder.AddProject<Projects.MyFrontend>("frontend")
.WithReference(cache)
.WaitFor(cache);
Per ulteriori informazioni, vedere la panoramica dell'orchestrazione .NET.NET Aspire.
Importante
La chiamata a AddRedis crea un nuovo contenitore Redis nell'ambiente di sviluppo locale. Se si preferisce usare un'istanza di Redis esistente, è possibile usare il metodo AddConnectionString per fare riferimento a una stringa di connessione esistente. Per altre informazioni, vedere Fare riferimento alle risorse esistenti.
integrazioni .NET.NET Aspire
.NET .NET Aspire integrazioni sono pacchetti NuGet progettati per semplificare le connessioni a servizi e piattaforme comuni, ad esempio Redis o PostgreSQL. .NET .NET Aspire le integrazioni gestiscono per voi molte problematiche relative al cloud nativo attraverso modelli di configurazione standardizzati, come l'aggiunta di verifiche dello stato di salute e telemetria. Le integrazioni sono duplice, in quanto un lato rappresenta il servizio a cui ci si connette e l'altro rappresenta il client o il consumatore di quel servizio. In altre parole, per ogni pacchetto di hosting è presente un pacchetto client corrispondente che gestisce la connessione al servizio.
Ogni integrazione è progettata per funzionare con l'orchestrazione di .NET.NET Aspire e le loro configurazioni vengono inserite automaticamente da facendo riferimento a risorse denominate. In altre parole, se Example.ServiceFoo fa riferimento Example.ServiceBar, Example.ServiceFoo eredita automaticamente le configurazioni necessarie dell'integrazione per consentire loro di comunicare tra loro automaticamente.
Si consideri ad esempio il codice seguente usando l'integrazione del bus di servizio .NET.NET Aspire:
builder.AddAzureServiceBusClient("servicebus");
Il metodo AddAzureServiceBusClient gestisce le problematiche seguenti:
- Registra un ServiceBusClient come singleton nel contenitore di inserimento delle dipendenze per la connessione a Azure Service Bus.
- Applica le configurazioni ServiceBusClient in linea attraverso il codice o la configurazione.
- Abilita i controlli di integrità, la registrazione e i dati di telemetria corrispondenti specifici dell'utilizzo Azure Service Bus.
Un elenco completo delle integrazioni disponibili è dettagliato nella pagina di panoramica delle integrazioni .NET.NET Aspire.
Modelli di progetto e strumenti
.NET Aspire fornisce un insieme di modelli di progetto ed esperienze di sviluppo per Visual Studio, Visual Studio Codee per l'interfaccia della riga di comando di .NET. Questi modelli sono progettati per facilitare la creazione e l'interazione con i progetti .NET.NET Aspire. I modelli sono opinati e sono dotati di un set di impostazioni predefinite che consentono di iniziare rapidamente. Includono codice boilerplate e configurazioni comuni alle app native del cloud, ad esempio dati di telemetria, controlli di integrità e individuazione dei servizi. Per altre informazioni, consultare i template .NET.NET Aspire.
.NET .NET Aspire template includono anche metodi di estensione predefiniti che gestiscono automaticamente le configurazioni comuni dei servizi.
builder.AddServiceDefaults();
Per ulteriori informazioni su cosa fa AddServiceDefaults
, consultare le impostazioni predefinite del servizio .NET.NET Aspire.
Quando viene aggiunto al file Program.cs, il codice precedente gestisce le seguenti problematiche:
- OpenTelemetry: configura la registrazione formattata, le metriche di runtime, i misuratori predefiniti e il tracciamento per ASP.NET Core, gRPC e HTTP. Per ulteriori informazioni, vedere telemetria .NET.NET Aspire.
- Controlli di integrità predefiniti: aggiunge endpoint di controlli di integrità predefiniti a cui gli strumenti possono fare delle query per monitorare l'app. Per ulteriori informazioni, vedere .NET verifiche di integrità delle app in C#.
- Scoperta dei servizi: Abilita la scoperta dei servizi per l'applicazione e configura di conseguenza HttpClient.
Passaggi successivi
Avvio rapido di : Creare il primo progetto .NET.NET Aspire