Vue d’ensemble de .NET.NET Aspire
.NET Aspire est un ensemble d’outils, de modèles et de packages permettant de créer des applications observables et prêtes pour la production. .NET Aspire est fourni via une collection de packages NuGet qui démarrent ou améliorent des défis spécifiques avec le développement d’applications modernes. Les applications actuelles consomment généralement un grand nombre de services, tels que les bases de données, la messagerie et la mise en cache, dont la plupart sont pris en charge via .NET.NET Aspire Integrations. Pour plus d'informations sur le support, consultez la politique de support .NET.NET Aspire.
Pourquoi .NET.NET Aspire?
.NET .NET Aspire améliore l’expérience de création d’applications qui ont un large éventail de projets et de ressources. Grâce aux améliorations de productivité au moment du développement qui émulent des scénarios déployés, vous pouvez rapidement développer des applications interconnectées. Conçue pour une flexibilité, .NET.NET Aspire vous permet de remplacer ou d’étendre des parties par vos outils et flux de travail préférés. Les principales fonctionnalités sont les suivantes :
- Dev-Time Orchestration: .NET.NET Aspire fournit des fonctionnalités permettant d’exécuter et de connecter des applications multi-projets, des ressources conteneur et d’autres 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 au moment du développement
Dans .NET.NET Aspire, l'« orchestration » se concentre principalement sur l’amélioration de l’expérience développement local en simplifiant la gestion de la configuration et des interconnexions de votre application. 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 s’agit d’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. Avec .NET.NET Aspire, votre code a une expérience de démarrage cohérente sur n’importe quel ordinateur de développement sans avoir besoin d’étapes manuelles complexes, ce qui facilite la gestion 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.
- la découverte de services et la gestion des chaînes de connexion: l’hôte de l’application injecte les chaînes de connexion, les configurations réseau et les informations de découverte de service appropriées 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 .NET.NET Aspire prennent en charge la configuration et l’interaction des ressources en cloud pour vous à travers des modèles standardisés, tels que l’ajout de contrôles de santé et de télémétrie. Les intégrations sont à deux volets : intégrations « d’hébergement » représente le service auquel vous vous connectez, et intégrations « client » représente le client ou le consommateur de ce service. En d’autres termes, pour de nombreux packages d’hébergement, il existe un package client correspondant qui gère la connexion de service dans votre code.
Chaque intégration est conçue pour fonctionner avec l’hôte de l’application .NET.NET Aspire, et leurs configurations sont injectées automatiquement par en se référant à des 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 Aspire, ou à ajouter des .NET Aspire dans votre base de code existante. Les modèles incluent un ensemble de valeurs par défaut avisées pour vous aider à commencer rapidement, par exemple, il dispose d’un code réutilisable pour activer les contrôles d’intégrité et la consignation dans les applications .NET. Ces valeurs par défaut sont entièrement personnalisables, ce qui vous permet de les modifier et de les adapter en fonction de vos besoins.
.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
démarrage rapide : Créer votre premier projet de .NET.NET Aspire