Delen via


overzicht van .NET.NET Aspire

.NET Aspire is een set hulpprogramma's, sjablonen en pakketten voor het bouwen van waarneembare apps die gereed zijn voor productie. .NET Aspire wordt geleverd via een verzameling NuGet-pakketten waarmee specifieke uitdagingen met moderne app-ontwikkeling worden opgestart of verbeterd. De huidige apps verbruiken over het algemeen een groot aantal services, zoals databases, berichten en caching, waarvan veel worden ondersteund via .NET.NET Aspire Integrations. Zie het .NET.NET Aspire ondersteuningsbeleidvoor meer informatie over ondersteuning.

Waarom .NET.NET Aspire?

.NET .NET Aspire verbetert de ervaring van het bouwen van apps met verschillende projecten en resources. Met verbeteringen van ontwikkeltijdproductiviteit die geïmplementeerde scenario's emuleren, kunt u snel onderling verbonden apps ontwikkelen. Ontworpen voor flexibiliteit, met .NET.NET Aspire kunt u onderdelen vervangen of uitbreiden met uw favoriete hulpprogramma's en werkstromen. Belangrijke functies zijn onder andere:

  • Dev-Time Indeling: .NET.NET Aspire biedt functies voor het uitvoeren en verbinden van toepassingen met meerdere projecten, containerbronnen en andere 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.

Coördinatie van dev-time

In .NET.NET Aspirericht 'orkestratie' zich voornamelijk op het verbeteren van de lokale ontwikkelingservaring door het beheer van de configuratie en verbindingen van uw 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 is het een set abstracties die de installatie van servicedetectie, omgevingsvariabelen en containerconfiguraties stroomlijnen, waardoor er geen implementatiedetails op laag niveau meer nodig zijn. Met .NET.NET Aspireheeft uw code een consistente bootstrapping-ervaring op elke ontwikkelcomputer zonder dat er complexe handmatige stappen nodig zijn, waardoor het eenvoudiger is om te beheren tijdens de ontwikkelingsfase.

.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 verbindingsreeksbeheer: de app-host injecteert de juiste verbindingsreeksen, netwerkconfiguraties en servicedetectiegegevens 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 de installatie en interactie van cloudresources voor u via gestandaardiseerde patronen, zoals het toevoegen van statuscontroles en telemetrie. Integraties zijn tweevoudig: 'hosting'-integraties de service vertegenwoordigt waarmee u verbinding maakt en 'client'-integraties de client of consument van die service vertegenwoordigt. Met andere woorden, voor veel hostingpakketten is er een bijbehorend clientpakket dat de serviceverbinding binnen uw code verwerkt.

Elke integratie is ontworpen om te werken met de .NET.NET Aspire app-host, waarbij hun configuraties automatisch worden geïnjecteerd doordat verwijst naar 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 Aspire projecten, of om .NET Aspire toe te voegen aan uw bestaande codebasis. De sjablonen bevatten een reeks meningen die als standaardinstellingen dienen om u snel aan de slag te helpen. Bijvoorbeeld met sjablooncode voor het inschakelen van gezondheidscontroles en het loggen in .NET-apps. Deze standaardinstellingen zijn volledig aanpasbaar, zodat u ze kunt bewerken en aanpassen aan uw behoeften.

.NET .NET Aspire sjablonen bevatten ook standaarduitbreidingsmethoden waarmee algemene serviceconfiguraties voor u worden verwerkt:

builder.AddServiceDefaults();

Zie AddServiceDefaultsvoor meer informatie over wat .NET 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.

Volgende stappen