Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
.NET .NET Aspire provides tools, templates, and packages to help you build observable, production-ready apps. Delivered through NuGet packages, .NET.NET Aspire simplifies common challenges in modern app development. Today's apps often rely on multiple services like databases, messaging, and caching, many supported by .NET.NET Aspire Integrations. For the official support information, see the .NET.NET Aspire Support Policy.
Warum .NET.NET Aspire?
.NET .NET Aspire verbessert die Erfahrung beim Erstellen von Apps mit einer Vielzahl von Projekten und Ressourcen. Mit Entwicklungszeit-Produktivitätsverbesserungen, die bereitgestellte Szenarien emulieren, können Sie schnell miteinander verbundene Apps entwickeln. Auf Flexibilität ausgelegt, können Sie mit .NET.NET Aspire Teile durch Ihre bevorzugten Tools und Workflows ersetzen oder erweitern. Zu den wichtigsten Features gehören:
- Dev-Time Orchestration: .NET.NET Aspire provides features for running and connecting multi-project applications, container resources, and other dependencies for local development environments.
- Integrationen: .NET Aspire Integrationen sind NuGet-Pakete für häufig verwendete Dienste, z. B. Redis oder Postgres, mit standardisierten Schnittstellen, die sicherstellen, dass sie sich konsistent und nahtlos mit Ihrer App verbinden.
- Tooling: .NET Aspire enthält Projektvorlagen und Toolfunktionen für Visual Studio, Visual Studio Codeund die .NET CLI-, die Ihnen beim Erstellen und Interagieren mit .NET.NET Aspire Projekten helfen.
Dev-time orchestration
In .NET.NET Aspire, "orchestration" primarily focuses on enhancing the local development experience by simplifying the management of your app's configuration and interconnections. It's important to note that .NET.NET Aspire's orchestration isn't intended to replace the robust systems used in production environments, such as Kubernetes. Stattdessen ist es eine Reihe von Abstraktionen, die das Einrichten von Dienstermittlungen, den Umgebungsvariablen und den Containerkonfigurationen vereinfachen und die Notwendigkeit eliminieren, sich mit Details zur Implementierung auf niedriger Ebene befassen zu müssen. Mit .NET.NET Aspireverfügt Ihr Code über eine konsistente Bootstrapping-Erfahrung auf jedem Entwicklercomputer, ohne dass komplexe manuelle Schritte erforderlich sind, wodurch die Verwaltung während der Entwicklungsphase vereinfacht wird.
.NET .NET Aspire orchestration assists with the following concerns:
- App-Komposition: Geben Sie die .NET Projekte, Container, ausführbare Dateien und Cloudressourcen an, aus denen die Anwendung besteht.
- Dienstermittlungs- und Verbindungszeichenfolgenverwaltung: Der App-Host fügt die richtigen Verbindungszeichenfolgen, Netzwerkkonfigurationen und Dienstermittlungsinformationen ein, um die Entwicklerfreundlichkeit zu vereinfachen.
Beispielsweise erstellt der folgende Code mit .NET Aspireeine lokale Redis-Containerressource, wartet bis sie verfügbar ist und konfiguriert anschließend die entsprechende Verbindungszeichenfolge im "frontend"
-Projekt mit ein paar Aufrufen von Hilfsmethoden.
// 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);
Weitere Informationen finden Sie unter .NET.NET Aspire Orchestrierungsübersicht.
Important
Der Aufruf von AddRedis erstellt einen neuen Redis Container in Ihrer lokalen Entwicklungsumgebung. Wenn Sie lieber eine vorhandene Redis Instanz verwenden möchten, können Sie die AddConnectionString-Methode verwenden, um auf eine vorhandene Verbindungszeichenfolge zu verweisen. Weitere Informationen finden Sie unter Referenzieren vorhandener Ressourcen.
.NET .NET Aspire Integrationen
.NET .NET Aspire Integrationen sind NuGet-Pakete, die so konzipiert sind, dass Verbindungen zu beliebten Diensten und Plattformen wie Redis oder PostgreSQLvereinfacht werden. .NET .NET Aspire Integrationstools verarbeiten die Einrichtung und Interaktion von Cloud-Ressourcen für Sie über standardisierte Muster, z. B. durch das Hinzufügen von Gesundheitsprüfungen und Telemetrie. Integrationen sind zweifach: "Hosting"-Integrationen stehen für den Dienst, zu dem Sie eine Verbindung herstellen, und "Client"-Integrationen repräsentieren den Client oder Nutzer dieses Dienstes. Anders ausgedrückt: Für viele Hostingpakete gibt es ein entsprechendes Clientpaket, das die Dienstverbindung in Ihrem Code verarbeitet.
Jede Integration ist darauf ausgelegt, mit dem App-Host .NET.NET Aspire zu arbeiten, und ihre Konfigurationen werden automatisch durch den Verweis von auf benannte Ressourceneingespeist. Anders ausgedrückt: Wenn Example.ServiceFoo auf Example.ServiceBarverweist, erbt Example.ServiceFoo die erforderlichen Konfigurationen der Integration, damit sie automatisch miteinander kommunizieren können.
For example, consider the following code using the .NET.NET Aspire Service Bus integration:
builder.AddAzureServiceBusClient("servicebus");
Die AddAzureServiceBusClient Methode behandelt die folgenden Bedenken:
- Registriert eine ServiceBusClient als Singleton im DI-Container, um eine Verbindung mit Azure Service Busherzustellen.
- Applies ServiceBusClient configurations either inline through code or through configuration.
- Aktiviert entsprechende Integritätsprüfungen, Protokollierung und Telemetrie, die für die Azure Service Bus Verwendung spezifisch sind.
Eine vollständige Liste der verfügbaren Integrationen finden Sie auf der Seite .NET.NET Aspire Integrationen Übersicht.
Projektvorlagen und Tools
.NET Aspire provides a set of project templates and tooling experiences for Visual Studio, Visual Studio Code, and the .NET CLI. Diese Vorlagen sollen Ihnen beim Erstellen und Interagieren mit .NET Aspire Projekten helfen oder .NET Aspire zu Ihrer vorhandenen Codebasis hinzufügen. The templates include a set of opinionated defaults to help you get started quickly - for example, it has boilerplate code for turning on health checks and logging in .NET apps. Diese Standardwerte sind vollständig anpassbar, sodass Sie sie an Ihre Anforderungen anpassen können.
.NET .NET Aspire templates also include boilerplate extension methods that handle common service configurations for you:
builder.AddServiceDefaults();
Weitere Informationen dazu, was AddServiceDefaults
tut, finden Sie unter .NET.NET Aspire Dienststandardeinstellungen.
When added to your Program.cs file, the preceding code handles the following concerns:
- OpenTelemetry: Richtet formatierte Protokollierung, Laufzeitmetriken, integrierte Meter und Ablaufverfolgung für ASP.NET Core, gRPC und HTTP ein. Weitere Informationen finden Sie unter .NET.NET Aspire Telemetrie.
- Default health checks: Adds default health check endpoints that tools can query to monitor your app. For more information, see .NET app health checks in C#.
- Service discovery: Enables service discovery for the app and configures HttpClient accordingly.