Condividi tramite


Panoramica di .NET.NET Aspire

.NET Aspire è un set di 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 avviano o migliorano sfide specifiche con lo sviluppo di app moderne. Le app di oggi usano in genere un numero elevato di servizi, ad esempio database, messaggistica e memorizzazione nella cache, molti dei quali sono supportati tramite .NET.NET Aspire Integrations. Per informazioni sul supporto, vedere i criteri di supporto .NET.NET Aspire.

Perché .NET.NET Aspire?

.NET .NET Aspire migliora l'esperienza di creazione di app con un'ampia gamma di progetti e risorse. Grazie ai miglioramenti della produttività in fase di sviluppo che emulano gli scenari distribuiti, è possibile sviluppare rapidamente app interconnesse. Progettato per flessibilità, .NET.NET Aspire consente di sostituire o estendere parti con gli strumenti e i flussi di lavoro preferiti. Le funzionalità principali includono:

  • Dev-Time orchestrazione: .NET.NET Aspire offre funzionalità per l'esecuzione e la connessione di applicazioni multiprogetto, risorse contenitore e altre 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 fase di sviluppo

In .NET.NET Aspirel'"orchestrazione" si concentra principalmente sul miglioramento dell'esperienza locale di sviluppo , semplificando la gestione della configurazione e delle interconnessioni dell'app. È importante notare che l'orchestrazione di .NET.NET Aspirenon è progettata per sostituire i sistemi affidabili usati negli ambienti di produzione, ad esempio Kubernetes. Si tratta invece di un set di astrazioni che semplificano la configurazione dell'individuazione dei servizi, delle variabili di ambiente e delle configurazioni dei contenitori, eliminando la necessità di gestire i dettagli di implementazione di basso livello. Con .NET.NET Aspire, il codice offre un'esperienza di bootstrap coerente in qualsiasi computer di sviluppo senza la necessità di passaggi manuali complessi, semplificando la gestione durante la fase di sviluppo.

.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 inserisce le stringhe di connessione, 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 la configurazione e l'interazione delle risorse cloud tramite modelli standardizzati, ad esempio l'aggiunta di controlli di integrità e dati di telemetria. Le integrazioni sono di due tipi: integrazioni di tipo "hosting" rappresenta il servizio a cui ci si connette e integrazioni di tipo "client" rappresenta il client o il consumatore di tale servizio. In altre parole, per molti pacchetti di hosting è presente un pacchetto client corrispondente che gestisce la connessione al servizio all'interno del codice.

Ogni integrazione è progettata per funzionare con l'host dell'app .NET.NET Aspire e le relative configurazioni vengono inserite automaticamente 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 Aspire o aggiungere .NET Aspire nella codebase esistente. I modelli includono un set di impostazioni predefinite già configurate per aiutarti a iniziare rapidamente - ad esempio, includono codice boilerplate per attivare i controlli dello stato di salute e registrare nei log delle app .NET. Queste impostazioni predefinite sono completamente personalizzabili, quindi puoi modificarle e adattarle in base alle tue esigenze.

.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