Partager via


Vue d’ensemble de .NET.NET Aspire

.NET Aspire est un ensemble d’outils, de modèles et de packages puissants pour la création d’applications observables et prêtes pour la production. .NET Aspire est fourni par le biais d’une collection de packages NuGet qui gèrent des problèmes spécifiques liés au cloud natif. Les applications natives cloud se composent souvent de petits éléments interconnectés ou de microservices plutôt que d’une base de code monolithique unique. Les applications natives cloud consomment généralement un grand nombre de services, tels que les bases de données, la messagerie et la mise en cache. Pour plus d'informations sur le support, consultez la politique de support .NET.NET Aspire.

Une application distribuée est celle qui utilise des ressources informatiques sur plusieurs nœuds, tels que des conteneurs exécutés sur différents hôtes. Ces nœuds doivent communiquer sur les limites du réseau pour fournir des réponses aux utilisateurs. Une application native cloud est un type spécifique d’application distribuée qui tire pleinement parti de l’extensibilité, de la résilience et de la facilité de gestion des infrastructures cloud.

Pourquoi .NET.NET Aspire?

.NET Aspire est conçu pour améliorer l’expérience de création d’applications natives cloud .NET. Il fournit un ensemble cohérent et opinionné d’outils et de modèles qui vous aident à créer et exécuter des applications distribuées. .NET .NET Aspire est conçu pour vous aider à :

  • Orchestration: .NET.NET Aspire fournit des fonctionnalités permettant d’exécuter et de connecter des applications multi-projets et leurs dépendances pour environnements de développement locaux.
  • Intégrations: les intégrations .NET Aspire sont des packages NuGet pour les services couramment utilisés, tels que Redis ou Postgres, avec des interfaces standardisées, ce qui garantit qu'elles se connectent de manière cohérente et transparente à votre application.
  • outils : .NET Aspire est fourni avec des modèles de projet et des expériences d’outils pour Visual Studio, Visual Studio Codeet l’interface CLI .NET pour vous aider à créer et interagir avec des projets .NET.NET Aspire.

Orchestration

Dans .NET.NET Aspire, l’orchestration se concentre principalement sur l’amélioration de l’expérience de développement local en simplifiant la gestion de la configuration et des interconnexions de votre application native cloud. Il est important de noter que l’orchestration de .NET.NET Aspiren’est pas destinée à remplacer les systèmes robustes utilisés dans les environnements de production, tels que Kubernetes. Au lieu de cela, il fournit un ensemble d’abstractions qui simplifient la configuration de la découverte de service, des variables d’environnement et des configurations de conteneur, ce qui élimine la nécessité de traiter les détails de l’implémentation de bas niveau. Ces abstractions garantissent un modèle de configuration cohérent entre les applications avec de nombreuses intégrations et services, ce qui facilite la gestion des applications complexes pendant la phase de développement.

.NET .NET Aspire orchestration aide à résoudre les problèmes suivants :

  • composition de l’application: spécifiez les projets .NET, les conteneurs, les exécutables et les ressources cloud qui composent l’application.
  • gestion des chaînes de connexion et de découverte de services: l’hôte de l’application gère l’injection des chaînes de connexion appropriées ou des configurations réseau et des informations de découverte de service pour simplifier l’expérience du développeur.

Par exemple, à l’aide de .NET Aspire, le code suivant crée une ressource de conteneur Redis locale, attend qu’elle soit disponible, puis configure la chaîne de connexion appropriée dans le projet "frontend" avec quelques appels de méthode d’assistance :

// 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);

Pour plus d’informations, consultez .NET.NET Aspire vue d’ensemble de l’orchestration.

Important

L’appel à AddRedis crée un conteneur Redis dans votre environnement de développement local. Si vous préférez utiliser une instance de Redis existante, vous pouvez utiliser la méthode AddConnectionString pour référencer une chaîne de connexion existante. Pour plus d’informations, consultez Référencer les ressources existantes.

intégrations .NET.NET Aspire

.NET .NET Aspire intégrations sont des packages NuGet conçus pour simplifier les connexions aux services et plateformes populaires, tels que Redis ou PostgreSQL. Les intégrations de .NET.NET Aspire prennent en charge de nombreuses considérations natives du cloud pour vous à travers des modèles de configuration standardisés, tels que l’ajout de vérifications de l’intégrité et de télémétrie. Les intégrations sont à double sens, car d'un côté se trouve le service auquel vous vous connectez, et de l'autre côté le client ou le consommateur de ce service. En d’autres termes, pour chaque package d’hébergement, il existe un package client correspondant qui gère la connexion de service.

Chaque intégration est conçue pour fonctionner avec .NET.NET Aspire orchestration, et leurs configurations sont injectées automatiquement par référençant les ressources nommées. En d’autres termes, si Example.ServiceFoo référence Example.ServiceBar, Example.ServiceFoo hérite des configurations requises de l’intégration pour leur permettre de communiquer automatiquement entre elles.

Par exemple, considérez le code suivant à l’aide de l’intégration .NET.NET Aspire Service Bus :

builder.AddAzureServiceBusClient("servicebus");

La méthode AddAzureServiceBusClient gère les problèmes suivants :

  • Enregistre un ServiceBusClient en tant que singleton dans le conteneur DI pour se connecter à Azure Service Bus.
  • Applique les configurations ServiceBusClient directement via le code ou par le biais de la configuration.
  • Active les vérifications de santé, la journalisation et la télémétrie spécifiques à l’utilisation de Azure Service Bus.

Une liste complète des intégrations disponibles est détaillée dans la page de présentation des intégrations .NET.NET Aspire.

Modèles de projet et outils

.NET Aspire fournit un ensemble de modèles de projet et d’expériences d’outils pour Visual Studio, Visual Studio Codeet l’interface CLI .NET. Ces modèles sont conçus pour vous aider à créer et à interagir avec des projets .NET.NET Aspire. Les modèles sont opinionés et sont fournis avec un ensemble de valeurs par défaut qui vous aident à commencer rapidement. Ils incluent du code réutilisable et des configurations qui sont communes aux applications natives cloud, telles que la télémétrie, les vérifications d’intégrité et la découverte de services. Pour plus d’informations, consultez .NET.NET Aspire modèles.

.NET .NET Aspire modèles incluent également des méthodes d’extension réutilisables qui gèrent les configurations de service courantes pour vous :

builder.AddServiceDefaults();

Pour plus d’informations sur ce que AddServiceDefaults fait, consultez les paramètres par défaut du service .NET.NET Aspire.

Lorsqu’il est ajouté à votre fichier Program.cs, le code précédent gère les problèmes suivants :

  • OpenTelemetry: configure la journalisation mise en forme, les métriques d’exécution, les compteurs intégrés et le suivi pour ASP.NET Core, gRPC et HTTP. Pour plus d’informations, consultez la télémétrie de .NET.NET Aspire.
  • vérifications d’intégrité par défaut: ajoute des points de terminaison de contrôle d’intégrité par défaut que les outils peuvent interroger pour surveiller votre application. Pour plus d’informations, consultez .NET vérifications d’intégrité des applications en C#.
  • Service de découverte: active la découverte de services pour l’application et configure HttpClient en conséquence.

Étapes suivantes