overzicht van .NET.NET Aspire
.NET Aspire is een set krachtige hulpprogramma's, sjablonen en pakketten voor het bouwen van waarneembare, productieklare apps. .NET Aspire wordt geleverd via een verzameling NuGet-pakketten die specifieke cloudeigen problemen verwerken. Cloudeigen apps bestaan vaak uit kleine, onderling verbonden delen of microservices in plaats van één monolithische codebasis. Cloudeigen apps verbruiken over het algemeen een groot aantal services, zoals databases, berichten en caching. Zie het .NET.NET Aspire ondersteuningsbeleidvoor meer informatie over ondersteuning.
Een gedistribueerde toepassing is een toepassing die gebruikmaakt van rekenkundige resources over meerdere knooppunten, zoals containers die op verschillende hosts worden uitgevoerd. Dergelijke knooppunten moeten communiceren over netwerkgrenzen om reacties aan gebruikers te kunnen leveren. Een cloudeigen app is een specifiek type gedistribueerde app dat volledig profiteert van de schaalbaarheid, tolerantie en beheerbaarheid van cloudinfrastructuren.
Waarom .NET.NET Aspire?
.NET Aspire is ontworpen om de ervaring van het bouwen van .NET cloudeigen apps te verbeteren. Het biedt een consistente, duidelijke set tools en patronen waarmee je gedistribueerde apps kunt bouwen en uitvoeren. .NET .NET Aspire is ontworpen om u te helpen met:
- Orchestratie-: .NET.NET Aspire biedt functies voor het uitvoeren en verbinden van multi-projecttoepassingen en hun afhankelijkheden voor lokale ontwikkelomgevingen.
- Integrations: .NET Aspire-integraties zijn NuGet-pakketten voor veelgebruikte services, zoals Redis of Postgres, met gestandaardiseerde interfaces die ervoor zorgen dat ze consistent en naadloos verbinding maken met uw app.
- hulpprogramma's: .NET Aspire wordt geleverd met projectsjablonen en hulpprogramma's voor Visual Studio, Visual Studio Codeen de .NET CLI- om u te helpen bij het maken en communiceren met .NET.NET Aspire projecten.
Orkestratie
In .NET.NET Aspirericht orchestratie zich voornamelijk op het verbeteren van de lokale ontwikkelervaring door het beheer van de configuratie en verbindingen van uw cloud-native app te vereenvoudigen. Het is belangrijk op te merken dat de orkestratie van .NET.NET Aspireniet bedoeld is om de systemen die robuust zijn te vervangen in productieomgevingen, zoals Kubernetes. In plaats daarvan biedt het een reeks abstracties die de installatie van servicedetectie, omgevingsvariabelen en containerconfiguraties stroomlijnen, waardoor de noodzaak om te gaan met implementatiedetails op laag niveau wordt geëlimineerd. Deze abstracties zorgen voor een consistent installatiepatroon voor apps met talloze integraties en services, waardoor het eenvoudiger is om complexe toepassingen tijdens de ontwikkelingsfase te beheren.
.NET .NET Aspire orchestratie helpt bij de volgende problemen:
- app-samenstelling: geef de .NET projecten, containers, uitvoerbare bestanden en cloudresources op waaruit de toepassing bestaat.
- servicedetectie en verbindingstekensbeheer: de app-host slaagt erin om de juiste verbindingstekens of netwerkconfiguraties en servicedetectiegegevens in te voeren om de ontwikkelaarservaring te vereenvoudigen.
Als u bijvoorbeeld .NET Aspiregebruikt, maakt de volgende code een lokale Redis containerresource, wacht tot deze beschikbaar is en configureert u vervolgens de juiste verbindingsreeks in het "frontend"
project met een paar helpermethodeaanroepen:
// 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);
Voor meer informatie, zie .NET.NET Aspire orkestratieoverzicht.
Belangrijk
De aanroep van AddRedis maakt een nieuwe Redis-container in uw lokale ontwikkelomgeving. Als u liever een bestaand Redis exemplaar gebruikt, kunt u de AddConnectionString methode gebruiken om te verwijzen naar een bestaande verbindingsreeks. Zie voor meer informatie Bestaande middelen.
.NET .NET Aspire integraties
.NET .NET Aspire integraties zijn NuGet-pakketten die zijn ontworpen om verbindingen met populaire services en platforms, zoals Redis of PostgreSQL, te vereenvoudigen. .NET .NET Aspire integraties verwerken veel cloudeigen problemen voor u via gestandaardiseerde configuratiepatronen, zoals het toevoegen van statuscontroles en telemetrie. Integraties hebben twee aspecten, namelijk dat aan de ene kant de service waarvoor u verbinding maakt staat, en aan de andere kant de client of consument van die service. Met andere woorden, voor elk hostingpakket is er een bijbehorend client pakket dat de serviceverbinding afhandelt.
Elke integratie is ontworpen om te werken met .NET.NET Aspire orkestratie en hun configuraties worden automatisch geïnjecteerd door verwijzing van naar de benoemde resources. Met andere woorden, als Example.ServiceFoo verwijst naar Example.ServiceBar, neemt Example.ServiceFoo de vereiste configuraties van de integratie over, zodat ze automatisch met elkaar kunnen communiceren.
Bekijk bijvoorbeeld de volgende code met behulp van de .NET.NET Aspire Service Bus-integratie:
builder.AddAzureServiceBusClient("servicebus");
De methode AddAzureServiceBusClient verwerkt de volgende problemen:
- Registreert een ServiceBusClient als een singleton in de DI-container om verbinding te maken met Azure Service Bus.
- Past ServiceBusClient-configuraties toe, hetzij inline als code, hetzij via configuratie.
- Hiermee worden bijbehorende statuscontroles, logboekregistratie en telemetrie ingeschakeld die specifiek zijn voor het Azure Service Bus gebruik.
Een volledige lijst met beschikbare integraties wordt beschreven op de overzichtspagina van .NET.NET Aspire integraties.
Projectsjablonen en hulpprogramma's
.NET Aspire biedt een set projectsjablonen en toolingervaringen voor Visual Studio, Visual Studio Codeen de .NET CLI-. Deze sjablonen zijn ontworpen om u te helpen bij het maken en gebruiken van .NET.NET Aspire projecten. De sjablonen zijn voorzien van bepaalde ontwerpkeuzes en worden geleverd met een set standaardopties waarmee u snel aan de slag kunt gaan. Ze omvatten standaardcode en configuraties die gebruikelijk zijn voor cloudeigen apps, zoals telemetrie, statuscontroles en servicedetectie. Zie .NET.NET Aspire sjablonenvoor meer informatie.
.NET .NET Aspire sjablonen bevatten ook standaarduitbreidingsmethoden waarmee algemene serviceconfiguraties voor u worden verwerkt:
builder.AddServiceDefaults();
Zie .NET Aspirevoor meer informatie over wat doet.
Wanneer deze wordt toegevoegd aan uw Program.cs-bestand, verwerkt de voorgaande code de volgende problemen:
- OpenTelemetry: stelt opgemaakte logboekregistratie, runtimegegevens, ingebouwde meters en tracering in voor ASP.NET Core, gRPC en HTTP. Zie .NET.NET Aspire telemetrievoor meer informatie.
- standaardstatuscontroles: voegt standaardstatuscontrole-eindpunten toe waarop hulpprogramma's query's kunnen uitvoeren om uw app te bewaken. Zie .NET app-statuscontroles in C#voor meer informatie.
- servicedetectie: hiermee schakelt u servicedetectie in voor de app en configureert u HttpClient dienovereenkomstig.