Meer informatie over het maken van een nieuw .NET Aspire-project

Voltooid

Cloudeigen ontwikkeling kan vereisen dat ontwikkelaars verbinding maken met verschillende microservices, zoals databases, berichtenwachtrijen en caches. .NET Aspire vereenvoudigt dit proces door een set sjablonen te bieden die u kunt gebruiken om de verbindingen tussen deze services te maken en te beheren.

In deze les leert u hoe u een nieuw .NET Aspire-project maakt en de verschillen tussen de twee startersprojectsjablonen begrijpt. Verken vervolgens de structuur van de gegenereerde oplossing.

Vereisten voor .NET Aspire

Voordat u een nieuw .NET Aspire-project kunt maken, zijn er enkele vereisten die u lokaal moet installeren:

In de volgende oefening doorloopt u de stappen voor het installeren van deze vereisten.

Kies de beste .NET Aspire-sjabloon voor uw project

Er zijn momenteel twee .NET Aspire Starter-sjablonen beschikbaar:

  • .NET Aspire Application: Deze sjabloon is een goed uitgangspunt voor nieuwe projecten. Het omvat alleen de projecten AspireSample.AppHost en AspireSample.ServiceDefaults . Deze sjabloon is handig als u helemaal opnieuw wilt beginnen en uw eigen onderdelen en services wilt toevoegen.

  • .NET Aspire Starter-toepassing: deze sjabloon bevat de projecten AspireSample.AppHost en AspireSample.ServiceDefaults , maar bevat ook een voorbeeld van blazor App AspireSample.Web en een API die gegevens aan het DoelSample.ApiService levert. Deze projecten zijn vooraf geconfigureerd met servicedetectie en andere basisvoorbeelden van algemene .NET Aspire-functionaliteit.

Beide Aspire-sjablonen bieden een dashboard voor het bewaken van de status van de services en het verkeer ertussen. Het dashboard helpt uw lokale ontwikkelervaring te verbeteren. In één oogopslag krijgt u een overzicht van de status en structuur van uw app.

Er zijn ook drie projectsjablonen beschikbaar:

  • .NET Aspire App Host: een sjabloon die alleen een app-hostproject (orchestrator) bevat.
  • Standaardinstellingen voor .NET Aspire-service: een sjabloon die alleen het standaardproject voor de service bevat.
  • .NET Aspire Test Project: een sjabloon die alleen eenheidstests voor het app-hostproject bevat.

Een nieuw .NET Aspire-project maken met behulp van een .NET Aspire-sjabloon

U kunt het startdialoogvenster van Visual Studio gebruiken om een nieuw .NET Aspire-project of File>New>Project te maken. U kunt ook .NET CLI-opdrachten gebruiken. Als u een oplossing wilt maken met de .NET Aspire Application-sjabloon , gebruikt u deze opdracht:

dotnet new aspire 

Of als u de .NET Aspire Starter-toepassingssjabloon wilt gebruiken, gebruikt u deze opdracht:

dotnet new aspire-starter

Een voordeel van het gebruik van Visual Studio is dat u uw configuratieopties kiest via dialoogvensters. De .NET CLI-opdrachten zijn handig wanneer u een nieuw .NET Aspire-project wilt maken met standaardinstellingen, maar u kunt de standaardinstellingen wijzigen met optionele vlaggen. In de volgende oefening ziet u hoe u een nieuw .NET Aspire-project maakt met behulp van beide methoden.

De structuur van oplossingen verkennen die zijn gegenereerd door de .NET Aspire-sjablonen

De .NET Aspire-sjablonen genereren een oplossing met een specifieke structuur. Deze structuur is een vereenvoudigd diagram voor de starterstoepassing, zonder dat de cache- of testopties zijn ingeschakeld:

────📂 AspireSample
     ├───📂 AspireSample.ApiService
     │    ├───📂 Properties
     │    │    └─── launchSettings.json
     │    ├─── appsettings.json
     │    ├─── AspireSample.ApiService.csproj
     │    └─── Program.cs
     ├───📂 AspireSample.AppHost
     │    ├───📂 Properties
     │    │    └─── launchSettings.json
     │    ├─── appsettings.json
     │    ├─── AspireSample.AppHost.csproj
     │    └─── Program.cs
     ├───📂 AspireSample.ServiceDefaults
     │    ├─── AspireSample.ServiceDefaults.csproj
     │    └─── Extensions.cs
     ├───📂 AspireSample.Web
     │    ├───📂 Components
     │    │    ├───📂 Layout
     │    │    │    ├─── ...
     │    │    ├───📂 Pages
     │    │    │    ├─── ...
     │    │    ├─── ...
     │    ├───📂 Properties
     │    │    └─── launchSettings.json
     │    ├───📂 wwwroot
     │    │    ├───...
     │    ├─── appsettings.json
     │    ├─── AspireSample.Web.csproj
     │    ├─── Program.cs
     │    └─── WeatherApiClient.cs
     └─── AspireSample.sln

Beide sjablonen voegen AppHost- en ServiceDefaults-projecten toe. Deze projecten vormen de kern van een toepassing die is gebouwd met .NET Aspire. Het AppHost-project is het toegangspunt en is verantwoordelijk voor het fungeren als orchestrator.

Het ServiceDefaults-project bevat de standaardconfiguratie voor de toepassing. Deze configuraties worden opnieuw gebruikt voor alle projecten in uw oplossing.

De bovenstaande oplossing bevat ook web - en ApiService-projecten . Het webproject is een Blazor WebAssembly-app met een teller en roept de ApiService aan om prognosegegevens op te halen. De ApiService is een eenvoudige API die prognosegegevens retourneert.

De codestructuur doorlopen

Het Project AspireSample.AppHost heeft de volgende code in Program.cs:

var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddRedis("cache");

var apiService = builder.AddProject<Projects.AspireStarterSample_ApiService>("apiservice");

builder.AddProject<Projects.AspireStarterSample_Web>("webfrontend")
    .WithReference(cache)
    .WithReference(apiService);

builder.Build().Run();

Door de bovenstaande code lopen, regel per regel:

  • Maak een builder variabele die een IDistributedApplicationBuilder.

  • Maak een cache variabele die een IResourceBuilder<RedisResource>.

  • Roep AddProject aan met een algemene parameter met de details van IServiceMetadata het project, waarbij het Project AspireSample.ApiService wordt toegevoegd aan het toepassingsmodel.

    Dit is een fundamentele bouwsteen van .NET Aspire. Hiermee AddProject configureert u servicedetectie en -communicatie tussen de projecten in uw app. Het naamargument apiservice wordt gebruikt om het project in het toepassingsmodel te identificeren en later te gebruiken door projecten die ermee willen communiceren.

  • Roept AddProject opnieuw aan, deze keer voegt u het Project AspireSample.Web toe aan het toepassingsmodel. Het koppelt ook meerdere aanroepen om de variabelen voor de cache en apiservice door te WithReference geven.

    De WithReference API is een andere fundamentele API van .NET Aspire, die servicedetectiegegevens of verbindingsreeks configuratie injecteert in het project dat wordt toegevoegd aan het toepassingsmodel.

  • Ten slotte worden de builder aanroepen aanroepen Build en Run de toepassing gestart.