Dela via


.NET .NET Aspire översikt

.NET Aspire är en uppsättning verktyg, mallar och paket för att skapa observerbara, produktionsklara appar. .NET Aspire levereras via en samling NuGet-paket som startar eller förbättrar specifika utmaningar med modern apputveckling. Dagens appar använder vanligtvis ett stort antal tjänster, till exempel databaser, meddelanden och cachelagring, varav många stöds via .NET.NET Aspire Integrations. Information om support finns i .NET.NET Aspire Support policy.

Varför .NET.NET Aspire?

.NET .NET Aspire förbättrar upplevelsen av att skapa appar som har en mängd olika projekt och resurser. Med förbättringar av utvecklingsproduktivitet som emulerar distribuerade scenarier kan du snabbt utveckla sammankopplade appar. Med .NET.NET Aspire är utformat för flexibilitet kan du ersätta eller utöka delar med önskade verktyg och arbetsflöden. Viktiga funktioner är:

  • Dev-Time Orchestration: .NET.NET Aspire innehåller funktioner för att köra och ansluta program för flera projekt, containerresurser och andra beroenden för lokala utvecklingsmiljöer.
  • Integrations: .NET Aspire-integreringar är NuGet-paket för vanliga tjänster, till exempel Redis eller Postgres, med standardiserade gränssnitt som säkerställer att de ansluter konsekvent och sömlöst med din app.
  • Tooling: .NET Aspire levereras med projektmallar och verktygsupplevelser för Visual Studio, Visual Studio Codeoch .NET CLI- som hjälper dig att skapa och interagera med .NET.NET Aspire projekt.

Dev-tid-orkestrering

I .NET.NET Aspirefokuserar "orkestrering" främst på att förbättra den lokala utvecklingsupplevelsen genom att förenkla hanteringen av appens konfiguration och sammankopplingar. Observera att .NET.NET Aspireorkestrering inte är avsedd att ersätta de robusta system som används i produktionsmiljöer, till exempel Kubernetes. I stället är det en uppsättning abstraktioner som effektiviserar installationen av tjänstidentifiering, miljövariabler och containerkonfigurationer, vilket eliminerar behovet av att hantera implementeringsinformation på låg nivå. Med .NET.NET Aspirehar koden en konsekvent startupplevelse på alla utvecklingsdatorer utan att behöva komplexa manuella steg, vilket gör det enklare att hantera under utvecklingsfasen.

.NET .NET Aspire orkestrering hjälper dig med följande problem:

  • Appsammansättning: Ange de .NET projekt, containrar, körbara filer och molnresurser som utgör programmet.
  • Tjänstidentifiering och hantering av anslutningssträngar: Appvärden matar in rätt anslutningssträngar, nätverkskonfigurationer och information om tjänstidentifiering för att förenkla utvecklarupplevelsen.

Om du till exempel använder .NET Aspireskapar följande kod en lokal Redis containerresurs, väntar på att den ska bli tillgänglig och konfigurerar sedan lämplig anslutningssträng i "frontend"-projektet med några hjälpmetodanrop:

// 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);

För mer information, se .NET.NET Aspire översikt över orkestrering.

Viktig

Anropet till AddRedis skapar en ny Redis container i din lokala utvecklingsmiljö. Om du hellre vill använda en befintlig Redis-instans kan du använda metoden AddConnectionString för att referera till en befintlig anslutningssträng. Mer information finns i Referera till befintliga resurser.

.NET .NET Aspire integreringar

.NET .NET Aspire integreringar är NuGet-paket som är utformade för att förenkla anslutningar till populära tjänster och plattformar, till exempel Redis eller PostgreSQL. .NET .NET Aspire integreringar hanterar molnresurskonfiguration och interaktion åt dig via standardiserade mönster, till exempel att lägga till hälsokontroller och telemetri. Integreringar är tvåfaldiga – "värdintegrationer" representerar den tjänst som du ansluter till och "klientintegrationer" representerar klienten eller konsumenten av tjänsten. För många värdpaket finns det med andra ord ett motsvarande klientpaket som hanterar tjänstanslutningen i koden.

Varje integration är utformad för att fungera med .NET.NET Aspire appvärdsmiljö och deras konfigurationer infogas automatiskt genom att refererar till namngivna resurser. Med andra ord, om Example.ServiceFoo referenser Example.ServiceBar, Example.ServiceFoo ärver integreringens nödvändiga konfigurationer så att de kan kommunicera med varandra automatiskt.

Tänk dig till exempel följande kod med hjälp av .NET.NET Aspire Service Bus-integrering:

builder.AddAzureServiceBusClient("servicebus");

Metoden AddAzureServiceBusClient hanterar följande problem:

  • Registrerar en ServiceBusClient som en singleton i DI-containern för anslutning till Azure Service Bus.
  • Verkställer ServiceBusClient-konfigurationer antingen inline genom kod eller genom konfiguration.
  • Aktiverar motsvarande hälsokontroller, loggning och telemetri som är specifika för Azure Service Bus användning.

En fullständig lista över tillgängliga integrationer beskrivs på översiktssidan för .NET.NET Aspire integrationer.

Projektmallar och verktyg

.NET Aspire innehåller en uppsättning projektmallar och verktygsfunktioner för Visual Studio, Visual Studio Codeoch .NET CLI-. Dessa mallar är utformade för att hjälpa dig att skapa och interagera med .NET Aspire projekt eller lägga till .NET Aspire i din befintliga kodbas. Mallarna innehåller en uppsättning åsiktsbaserade standardvärden som hjälper dig att komma igång snabbt , till exempel har den exempelkod för att aktivera hälsokontroller och logga in .NET appar. Dessa standardvärden är helt anpassningsbara, så du kan redigera och anpassa dem efter dina behov.

.NET .NET Aspire mallar innehåller även standardtilläggsmetoder som hanterar vanliga tjänstekonfigurationer åt dig.

builder.AddServiceDefaults();

Mer information om vad AddServiceDefaults gör finns i standardinställningarna för .NET.NET Aspire-tjänsten.

När den läggs till i Program.cs-filen hanterar koden ovan följande problem:

  • OpenTelemetry: Konfigurerar formaterad loggning, körningsmått, inbyggda mätare och spårning för ASP.NET Core, gRPC och HTTP. Mer information finns i .NET.NET Aspire telemetri.
  • Standardhälsokontroller: Lägger till standardslutpunkter för hälsokontroll som verktyg kan köra frågor mot för att övervaka din app. Mer information finns i .NET apphälsokontroller i C#.
  • Service Discovery: Aktiverar Service Discovery för appen och konfigurerar HttpClient därefter.

Nästa steg