Événements
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Si vous avez des microservices et .NET application web existantes, vous pouvez y ajouter .NET Aspire et obtenir toutes les fonctionnalités et avantages inclus. Dans cet article, vous ajoutez l'orchestration .NET Aspire à un projet .NET 9 simple et préexistant. Vous apprenez à :
Pour utiliser .NET.NET Aspire, vous avez besoin de l’installation locale suivante :
Pour plus d’informations, consultez .NET.NET Aspire configuration et outils, et .NET.NET Aspire SDK.
Commençons par obtenir le code de la solution :
Ouvrez une invite de commandes et modifiez les répertoires à l’emplacement où vous souhaitez stocker le code.
Pour cloner vers l'exemple de solution .NET, utilisez la commande git clone
suivante :
git clone https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative-devops.git eShopLite
Cet article utilise une solution .NET 9 avec trois projets :
Product
utilisée dans l’application web et l’API web.Ouvrez et démarrez le débogage du projet pour examiner son comportement par défaut :
Démarrez Visual Studio, puis sélectionnez Fichier>Ouvrir>projet/solution.
Accédez au dossier de niveau supérieur de la solution que vous avez cloné, sélectionnez eShopLite.sln, puis sélectionnez Ouvrir.
Dans lede l’Explorateur de solutions
Sélectionnez plusieurs projets de démarrage.
Dans la colonne Action, sélectionnez Démarrer pour les projets Produits et Store.
Sélectionnez OK.
Pour démarrer le débogage de la solution, appuyez sur F5 ou sélectionnez Démarrer.
Deux pages s’ouvrent dans le navigateur :
Pour arrêter le débogage, fermez le navigateur.
Démarrez Visual Studio Code et ouvrez le dossier que vous avez cloné. À partir du terminal où vous avez cloné le dépôt, exécutez la commande suivante :
code .
Sélectionnez l’élément de menu Exécuter et déboguer, ou appuyez sur Ctrl+Maj+D.
Sélectionnez le créer un lien launch.json fichier.
Copiez et collez les JSON suivantes dans ce fichier et Enregistrer:
{
"version": "0.2.0",
"compounds": [
{
"name": "Run all",
"configurations": [
"Run products",
"Run store",
]
}
],
"configurations": [
{
"name": "Run products",
"type": "dotnet",
"request": "launch",
"projectPath": "${workspaceFolder}/Products/Products.csproj"
},
{
"name": "Run store",
"type": "dotnet",
"request": "launch",
"projectPath": "${workspaceFolder}/Store/Store.csproj"
}
]
}
Pour démarrer le débogage de la solution, appuyez sur F5 ou sélectionnez Démarrer.
Deux pages s’ouvrent dans le navigateur :
Pour arrêter le débogage, fermez le navigateur, puis sélectionnez le bouton Arrêter deux fois (une fois pour chaque instance de débogage en cours d’exécution).
Ouvrez une fenêtre de terminal et modifiez les répertoires dans le référentiel nouvellement cloné.
Pour démarrer l’application Products, exécutez la commande suivante :
dotnet run --project ./Products/Products.csproj
Une page de navigateur s’ouvre, affichant les JSON pour les produits.
Dans une fenêtre de terminal distincte, modifiez à nouveau les répertoires en référentiel cloné.
Démarrez l’application Store
dotnet run --project ./Store/Store.csproj
Le navigateur ouvre une page qui affiche la page d’accueil du site web. Dans le menu de gauche, sélectionnez Produits pour afficher le catalogue obtenu à partir de l’API web.
Pour arrêter le débogage, fermez le navigateur, puis appuyez sur Ctrl+C dans les deux terminaux.
À présent, nous allons inscrire le projet store
Dans Visual Studio, dans l’Explorateur de solutions , cliquez avec le bouton droit sur le projet Store, sélectionnez Ajouter, puis sélectionnez .NET.NET Aspire Prise en charge de l'Orchestrateur.
Dans la boîte de dialogue Ajouter .NET.NET Aspire Support d’Orchestrator, sélectionnez OK.
Vous devez maintenant avoir deux nouveaux projets, tous deux ajoutés à la solution :
Dans le projet eShopLite.AppHost, ouvrez le fichier Program.cs. Notez cette ligne de code, qui inscrit le projet Store dans l’orchestration .NET.NET Aspire :
builder.AddProject<Projects.Store>("store");
Pour plus d’informations, consultez AddProject.
Pour ajouter le projet Products à .NET.NET Aspire:
Dans
Boîte de dialogue indiquant que le projet Orchestrator .NET.NET Aspire existe déjà, sélectionnez OK.
Dans le projet eShopLite.AppHost, ouvrez le fichier Program.cs. Notez cette ligne de code, qui inscrit le projet Products dans l’orchestration .NET.NET Aspire :
builder.AddProject<Projects.Products>("products");
Notez également que le projet eShopLite.AppHost
Pour orchestrer les projets existants, vous devez créer un nouveau projet d'hôte d'application . Pour créer un nouvel hôte d’application projet à partir des modèles de .NET Aspire disponibles, utilisez la commande CLI .NET suivante :
dotnet new aspire-apphost -o eShopLite.AppHost
Ajoutez le projet hôte d’application
Ajoutez le projet store
dotnet add ./eShopLite.AppHost/eShopLite.AppHost.csproj reference ./Store/Store.csproj
Une fois le projet hôte d'application créé, vous devez créer un nouveau projet de service par défaut . Pour créer un nouveau service par défaut projet à partir des modèles de .NET Aspire disponibles, utilisez la commande CLI .NET suivante :
dotnet new aspire-servicedefaults -o eShopLite.ServiceDefaults
Pour ajouter le projet à la solution, utilisez la commande CLI .NET suivante :
dotnet sln ./eShopLite.sln add ./eShopLite.ServiceDefaults/eShopLite.ServiceDefaults.csproj
Mettez à jour le projet hôte d’application pour ajouter une référence de projet au projet Products :
dotnet add ./eShopLite.AppHost/eShopLite.AppHost.csproj reference ./Products/Products.csproj
Les projets Store et Products doivent faire référence au projet des valeurs par défaut de service afin qu’ils puissent facilement inclure la découverte de services . Pour ajouter une référence au service
dotnet add ./Store/Store.csproj reference ./eShopLite.ServiceDefaults/eShopLite.ServiceDefaults.csproj
La même commande avec des chemins légèrement différents doit être utilisée pour ajouter une référence au projet
dotnet add ./Products/Products.csproj reference ./eShopLite.ServiceDefaults/eShopLite.ServiceDefaults.csproj
Dans les projets Store et Products, mettez à jour leurs fichiers Program.cs, en ajoutant la ligne suivante immédiatement après leur ligne de var builder = WebApplication.CreateBuilder(args);
:
builder.AddServiceDefaults();
Ouvrez le fichier Program.cs de l’application hôte du projet, puis remplacez son contenu par le code C# suivant :
var builder = DistributedApplication.CreateBuilder(args);
builder.AddProject<Projects.Store>("store");
builder.AddProject<Projects.Products>("products");
builder.Build().Run();
Code précédent :
DistributedApplicationBuilder
.À ce stade, les deux projets font partie de l’orchestration .NET.NET Aspire, mais le Store doit être en mesure de découvrir l’adresse backend Products par le biais du service de découverte de .NET.NET Aspire. Pour activer la découverte de services, ouvrez le fichier Program.cs dans eShopLite.AppHost et mettez à jour le code pour que le Store ajoute une référence au projet Produits.
var builder = DistributedApplication.CreateBuilder(args);
var products = builder.AddProject<Projects.Products>("products");
builder.AddProject<Projects.Store>("store")
.WithExternalHttpEndpoints()
.WithReference(products);
builder.Build().Run();
Le code précédent exprime que le projet store
Ensuite, mettez à jour le appsettings.json dans le projet Store avec les éléments suivants JSON:
{
"DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ProductEndpoint": "http://products",
"ProductEndpointHttps": "https://products"
}
Les adresses des deux points de terminaison utilisent désormais le nom « produits » ajouté à l’orchestrateur dans l’hôte de l’application . Ces noms sont utilisés pour découvrir l’adresse du projet Products.
Commençons la solution et examinons le nouveau comportement fourni par .NET.NET Aspire.
Notes
Notez que le projet eShopLite.AppHost est le nouveau projet de démarrage.
Supprimez le fichier launch.json que vous avez créé précédemment, il ne sert plus d’objectif. Au lieu de cela, démarrez le projet hôte d’application , qui orchestre les autres projets :
Démarrez le projet hôte d’application
Notes
Si Docker Desktop (ou Podman) n’est pas en cours d’exécution, une erreur s’affiche. Démarrez le moteur de conteneur conforme à OCI et réessayez.
Démarrez le projet hôte de l’application
dotnet run --project ./eShopLite.AppHost/eShopLite.AppHost.csproj
Notes
Si Docker Desktop (ou Podman) n’est pas en cours d’exécution, une erreur s’affiche. Démarrez le moteur de conteneur conforme à OCI et réessayez.
Félicitations, vous avez ajouté l'orchestration .NET.NET Aspire à votre application web préexistante. Vous pouvez maintenant ajouter des intégrations .NET Aspire et utiliser les outils de .NET Aspire pour simplifier le développement de votre application web native cloud.
Commentaires sur .NET Aspire
.NET Aspire est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Événements
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantEntrainement
Module
Créer un projet Aspire .NET - Training
Découvrez comment créer des applications natives cloud à partir de zéro ou ajouter une orchestration à une application existante à l’aide de la pile .NET Aspire dans .NET 8.
Certification
Microsoft Certified: Azure Developer Associate - Certifications
Générez des solutions de bout en bout dans Microsoft Azure pour créer des fonctions Azure Functions, implémenter et gérer des applications web, développer des solutions qui utilisent le Stockage Azure, et bien plus encore.
Documentation
Construisez votre première solution .NET.NET Aspire - .NET Aspire
Découvrez comment créer votre première solution avec .NET Aspire à l’aide du modèle d’application de démarrage .NET Aspire.
modèles de .NET.NET Aspire - .NET Aspire
Découvrez comment installer les modèles .NET.NET Aspire et comment les utiliser pour créer de nouvelles applications.
outils .NET.NET Aspire - .NET Aspire
En savoir plus sur les concepts d’outils essentiels pour .NET.NET Aspire.