.NET .NET Aspire översikt
.NET Aspire är en uppsättning kraftfulla verktyg, mallar och paket för att skapa observerbara, produktionsklara appar. .NET Aspire levereras via en samling NuGet-paket som hanterar specifika molnbaserade problem. Molnbaserade appar består ofta av små, sammankopplade delar eller mikrotjänster i stället för en enda monolitisk kodbas. Molnbaserade appar använder vanligtvis ett stort antal tjänster, till exempel databaser, meddelanden och cachelagring. Information om support finns i .NET.NET Aspire Support policy.
Ett distribuerat program som använder beräkningsresurser resurser över flera noder, till exempel containrar som körs på olika värdar. Sådana noder måste kommunicera över nätverksgränser för att leverera svar till användare. En molnbaserad app är en specifik typ av distribuerad app som drar full nytta av skalbarhet, motståndskraft och hanterbarhet för molninfrastrukturer.
Varför .NET.NET Aspire?
.NET Aspire är utformat för att förbättra upplevelsen av att skapa .NET molnbaserade appar. Det ger en konsekvent, åsiktsuppsättning med verktyg och mönster som hjälper dig att skapa och köra distribuerade appar. .NET .NET Aspire är utformat för att hjälpa dig med:
- Orchestration: .NET.NET Aspire innehåller funktioner för att köra och ansluta flera projektapplikationer och deras beroendekedjor 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.
Orkestrering
I .NET.NET Aspireligger fokus inom orkestreringen främst på att förbättra den lokala utvecklingserfarenheten genom att förenkla hanteringen av din molnbaserade applikationskonfiguration 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 tillhandahåller den 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å. Dessa abstraktioner säkerställer ett konsekvent konfigurationsmönster för appar med många integreringar och tjänster, vilket gör det enklare att hantera komplexa program 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 lyckas mata in rätt anslutningssträngar eller 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 många molnbaserade problem åt dig via standardiserade konfigurationsmönster, till exempel att lägga till hälsokontroller och telemetri. Integreringar är tvådelade, där den ena sidan representerar den tjänst du ansluter till, och den andra sidan representerar tjänstens client eller dess konsument. För varje värdpaket finns det med andra ord ett motsvarande client paket som hanterar tjänstanslutningen.
Varje integrering är utformad för att fungera med .NET.NET Aspire orkestrering och deras konfigurationer matas in 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.NET Aspire projekt. Mallarna är åsiktsmässiga och levereras med en uppsättning standardvärden som hjälper dig att komma igång snabbt. De omfattar exempelkod och konfigurationer som är gemensamma för molnbaserade appar, till exempel telemetri, hälsokontroller och tjänstidentifiering. Mer information finns i .NET.NET Aspire mallar.
.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
.NET Aspire