Übersicht über .NET.NET Aspire Integrationen
.NET Aspire-Integrationen sind eine kuratierte Auswahl von NuGet-Paketen, die ausgewählt wurden, um die Integration von Cloud-nativen Anwendungen mit prominenten Diensten und Plattformen wie Redis und PostgreSQLzu erleichtern. Jede Integration bietet wesentliche Cloud-native-Funktionen entweder über die automatische Bereitstellung oder durch standardisierte Konfigurationsmuster.
Tipp
Bemühen Sie sich immer, die neueste Version von .NET.NET Aspire Integrationen zu verwenden, um die neuesten Features, Verbesserungen und Sicherheitsupdates zu nutzen.
Integrationsaufgaben
Die meisten .NET.NET Aspire Integrationen bestehen aus zwei separaten Bibliotheken, die jeweils eine andere Verantwortung haben. Ein Typ stellt Ressourcen innerhalb des App-Host---Projekts dar, das als Hosting-Integrationenbekannt ist. Die andere Art der Integration repräsentiert client Bibliotheken, die eine Verbindung zu den Ressourcen herstellen, die von Hosting-Integrationen modelliert werden, und sie werden als client Integrationenbezeichnet.
Hosting-Integrationen
Hosting-Integrationen konfigurieren Anwendungen, indem sie Ressourcen bereitstellen (z. B. Container oder Cloud-Ressourcen) oder auf vorhandene Instanzen verweisen (z. B. eine lokale SQL server). Diese Pakete modellieren verschiedene Dienste, Plattformen oder Funktionen, einschließlich Caches, Datenbanken, Protokollierung, Speicher und Messaging-Systeme.
Hosting-Integrationen erweitern die IDistributedApplicationBuilder-Schnittstelle und ermöglichen dem -App-Host-Projekt, Ressourcen innerhalb des -App-Modellsdarzustellen. Die offiziellen Hostingintegration NuGet-Pakete werden mit aspire
, integration
und hosting
markiert. Neben den offiziellen Hosting-Integrationen hat die Community auch Hosting-Integrationen für verschiedener Dienste und Plattformen im Rahmen des Community Toolkits erstellt.
Informationen zum Erstellen einer benutzerdefinierten Hosting-Integration finden Sie unter "Erstellen einer benutzerdefinierten .NET.NET Aspire Hosting-Integration".
Client Integrationen
Client Integrationen verbinden client Bibliotheken mit Abhängigkeitsinjektion (DI), definieren ein Konfigurationsschema und fügen Integritätsprüfungen, Resilienzfunktionenund, falls zutreffend, Telemetriefunktionen hinzu.
.NET Aspire
client Integrationsbibliotheken erhalten das Präfix Aspire.
und umfassen dann den vollständigen Paketnamen, mit dem sie integriert werden, z. B. Aspire.StackExchange.Redis
.
Diese Pakete konfigurieren vorhandene client-Bibliotheken, um eine Verbindung mit Hostingintegrationen herzustellen. Sie erweitern die IHostApplicationBuilder Schnittstelle, sodass client-verbrauchende Projekte wie Ihre Web-App oder API die verbundene Ressource verwenden können. Die offiziellen client Integrations-NuGet-Pakete werden mit aspire
, integration
und client
markiert. Neben den offiziellen client-Integrationen hat die -Community client-Integrationen im Rahmen des Community Toolkits für verschiedene Dienste und Plattformen geschaffen.
Weitere Informationen zum Erstellen einer benutzerdefinierten client-Integration finden Sie unter Erstellen von benutzerdefinierten .NET Aspireclient Integrationen.
Beziehung zwischen Hosting und client-Integrationen
Hosting und client-Integrationen funktionieren am besten zusammen, sind jedoch nicht gekoppelt und können auch separat verwendet werden. Einige Hostingintegrationen verfügen nicht über eine entsprechende client Integration. Konfiguration ist das, was die Hosting-Integration mit der client-Integration funktionsfähig macht.
Betrachten Sie das folgende Diagramm, das die Beziehung zwischen Hosting und client Integrationen darstellt:
Das App-Hostprojekt ist der Ort, an dem Hostintegrationen verwendet werden. Die Konfiguration, insbesondere Umgebungsvariablen, wird in Projekte, ausführbare Dateien und Container eingefügt, sodass client Integrationen eine Verbindung mit den Hostingintegrationen herstellen können.
Integrationsfunktionen
Wenn Sie eine client-Integration zu einem Projekt in Ihrer .NET Aspire-Lösung hinzufügen, werden -Dienststandardeinstellungen automatisch auf dieses Projekt angewendet; d. h., auf das Projekt für Dienststandards wird referenziert, und die AddServiceDefaults
-Erweiterungsmethode wird aufgerufen. Diese Standardwerte sind so konzipiert, dass sie in den meisten Szenarien gut funktionieren und bei Bedarf angepasst werden können. Die folgenden Dienststandardwerte werden angewendet:
Observability and telemetry: Richtet automatisch Protokollierungs-, Tracing- und Metrikkonfigurationen ein:
- Protokollierung: Eine Technik, bei der Code instrumentiert ist, um Protokolle interessanter Ereignisse zu erzeugen, die während der Ausführung des Programms aufgetreten sind.
- Ablaufverfolgung: Eine spezielle Form der Protokollierung, mit der Sie Fehler und Leistungsprobleme innerhalb von Anwendungen lokalisieren können, die auf mehrere Computer oder Prozesse verteilt sind.
- Metriken: Numerische Messungen, die im Laufe der Zeit aufgezeichnet werden, um die Leistung und den Zustand der Anwendung zu überwachen. Metriken werden häufig verwendet, um Warnungen zu generieren, wenn potenzielle Probleme erkannt werden.
Integritätsprüfungen: Macht HTTP-Endpunkte verfügbar, um grundlegende Verfügbarkeits- und Statusinformationen zu einer App bereitzustellen. Gesundheitschecks werden verwendet, um Entscheidungen zu beeinflussen, die von Container-Orchestratoren, Load-Balancern, API-Gateways und anderen Verwaltungsdiensten getroffen werden.
Resilienz: Die Fähigkeit Ihres Systems, bei einem Ausfall react zu reagieren und weiterhin funktionsfähig zu sein. Die Resilienz erstreckt sich über die Vermeidung von Fehlern hinaus und umfasst die Wiederherstellung und Rekonstruktion Ihrer cloud-native Umgebung, um sie in einen gesunden Zustand zurückzuversetzen.
Offizielle Integrationen
.NET .NET Aspire bietet viele Integrationen, mit denen Sie cloudeigene Anwendungen erstellen können. Diese Integrationen sind darauf ausgelegt, nahtlos mit dem .NET Aspire App-Host und client Bibliotheken zu arbeiten. In den folgenden Abschnitten werden cloudagnostische, Azure-spezifische, Amazon Web Services (AWS) und Community Toolkit-Integrationen beschrieben.
Cloudagnostische Integrationen
Im folgenden Abschnitt werden cloudagnostische .NET.NET Aspire Integrationen mit Links zu ihren jeweiligen Dokumenten und NuGet-Paketen beschrieben und eine kurze Beschreibung der einzelnen Integrationen bereitgestellt.
Integrationsdokumente und NuGet-Pakete | Beschreibung |
---|---|
-
Mehr erfahren: 📄 Apache Kafka - Hosting: 📦Aspire.Hosting.Kafka - Client: 📦Aspire. Confluent.Kafka |
Eine Bibliothek zum Erstellen und Verwenden von Nachrichten aus einem Apache Kafka Broker. |
-
Erfahren Sie mehr: 📄 Dapr - Hosting: 📦Aspire. Hosting.Dapr - Client: N/A |
Eine Bibliothek zum Modellieren von Dapr als .NET.NET Aspire Ressource. |
-
Erfahren Sie mehr: 📄 Elasticsearch - Hosting-: 📦Aspire. Hosting.Elasticsearch - Client: 📦Aspire. Elastic.Clients.Elasticsearch |
Eine Bibliothek für den Zugriff auf Elasticsearch Datenbanken. |
-
Erfahren Sie mehr: 📄 Keycloak - Hosting-: 📦Aspire. Hosting.Keycloak - Client: 📦Aspire.Keycloak: Authentifizierungs- |
Eine Bibliothek für den Zugriff auf die Keycloak-Authentifizierung. |
-
Erfahren Sie mehr: 📄 Milvus - Hosting-: 📦Aspire. Hosting.Milvus - Client: 📦Aspire.Milvus.Client |
Eine Bibliothek für den Zugriff auf Milvus Datenbanken. |
-
Erfahren Sie mehr: 📄MongoDB Treiber - Hosting-: 📦Aspire. Hosting.MongoDB - Client: 📦Aspire.MongoDB. Treiber |
Eine Bibliothek für den Zugriff auf MongoDB Datenbanken. |
-
Erfahren Sie mehr: 📄 MySqlConnector - Hosting-: 📦Aspire. Hosting.MySql - Client: 📦Aspire. MySqlConnector |
Eine Bibliothek für den Zugriff auf MySqlConnector Datenbanken. |
-
Erfahren Sie mehr: 📄 NATS - Hosting: 📦Aspire. Hosting.Nats - Client: 📦Aspire.NATS.Net |
Eine Bibliothek für den Zugriff auf NATS Messaging. |
-
Erfahren Sie mehr: 📄Oracle - EF Core - Hosting-: 📦Aspire. Hosting.Oracle - Client: 📦Aspire.Oracle. EntityFrameworkCore- |
Eine Bibliothek zum Zugriff auf Oracle-Datenbanken mit Entity Framework Core. |
-
Erfahren Sie mehr: 📄 Orleans - Hosting-: 📦Aspire. Hosting.Orleans - Client: N/A |
Eine Bibliothek für das Modellieren von Orleans als eine .NET.NET Aspire Ressource. |
-
Erfahren Sie mehr: 📄 Pomelo MySQL - EF Core - Hosting: 📦Aspire.Hosting.MySql - Client: 📦Aspire. Pomelo.EntityFrameworkCore.MySql |
Eine Bibliothek zum Zugriff auf MySql-Datenbanken mit Entity Framework Core. |
-
Erfahren Sie mehr: 📄PostgreSQL - EF Core - Hosting: 📦Aspire. Hosting.PostgreSQL - Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL |
Eine Bibliothek für den Zugriff auf PostgreSQL Datenbanken mithilfe von Entity Framework Core. |
-
Mehr erfahren: 📄 PostgreSQL - Hosting: 📦Aspire. Hosting.PostgreSQL - Client: 📦Aspire. Npgsql |
Eine Bibliothek zum Zugriff auf PostgreSQL-Datenbanken. |
-
Erfahren Sie mehr: 📄 Qdrant - Hosting: 📦Aspire. Hosting.Qdrant - Client: 📦Aspire. Qdrant.Client |
Eine Bibliothek für den Zugriff auf Qdrant Datenbanken. |
-
Mehr erfahren: 📄 RabbitMQ - Hosting-: 📦Aspire. Hosting.RabbitMQ - Client: 📦Aspire.RabbitMQ.Client |
Eine Bibliothek für den Zugriff auf RabbitMQ. |
-
Mehr erfahren: 📄Redis Verteiltes Caching - Hosting-: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garnetoder 📦Aspire. Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis. DistributedCaching- |
Eine Bibliothek für den Zugriff auf Redis Caches für verteilte Zwischenspeicherung. |
-
Erfahren Sie mehr: 📄Redis Ausgabezwischenspeicherung - Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garnetoder 📦Aspire. Hosting.Valkey - Client: 📦Aspire.StackExchange.Redis.OutputCaching |
Eine Bibliothek für den Zugriff auf Redis-Caches für -Ausgabe-Cache. |
-
Erfahren Sie mehr: 📄 Redis - Hosting-: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garnetoder 📦Aspire. Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis |
Eine Bibliothek für den Zugriff auf Redis Caches. |
-
Erfahren Sie mehr: 📄 Seq - Hosting-: 📦Aspire. Hosting.Seq - Client: 📦Aspire.Seq |
Eine Bibliothek zum Anmelden bei Seq. |
-
Erfahren Sie mehr: 📄SQL Server - EF Core - Hosting-: 📦Aspire. Hosting.SqlServer- - Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer |
Eine Bibliothek für den Zugriff auf SQL Server Datenbanken mithilfe von EF Core. |
-
Erfahren Sie mehr: 📄 SQL Server - Hosting-: 📦Aspire. Hosting.SqlServer- - Client: 📦Aspire. Microsoft.Data.SqlClient- |
Eine Bibliothek für den Zugriff auf SQL Server Datenbanken. |
Weitere Informationen für die Nutzung von .NET Aspire-Integrationen in Visual Studiofinden Sie in Visual Studio-Werkzeuge.
Azure Integrationen
Azure Integrationen konfigurieren Anwendungen so, dass Azure Ressourcen verwendet werden. Diese Hostingintegrationen sind in den Aspire.Hosting.Azure.*
NuGet-Paketen verfügbar, während ihre client Integrationen in den Aspire.*
NuGet-Paketen verfügbar sind:
Amazon Web Services (AWS)-Hostingintegrationen
Integrationsdokumente und NuGet-Pakete | Beschreibung |
---|---|
-
Erfahren Sie mehr: 📄 AWS Hosting - Hosting: 📦Aspire.Hosting.AWS - Client: N/A |
Eine Bibliothek zum Modellieren AWS-Ressourcen. |
Weitere Informationen finden Sie unter GitHub: Aspire. Hosting.AWS-Bibliothek.
Integrationen des Community-Toolkits
Anmerkung
Die Community Toolkit-Integrationen werden von der .NET.NET Aspire Community gesteuert und verwaltet. Diese Integrationen werden vom .NET.NET Aspire Team nicht offiziell unterstützt.
Integrationsdokumente und NuGet-Pakete | Beschreibung |
---|---|
-
Mehr erfahren: 📄Azure Statische Web Apps Emulator - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Azure.StaticWebApps - Client: N/A |
Eine Hosting-Integration für den Azure Static Web Apps Emulator (Hinweis: Es unterstützt nicht die Bereitstellung eines Projekts für Azure Static Web Apps). |
-
Erfahren Sie mehr: 📄 Bun Hosting - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Bun - Client: N/A |
Eine Hosting-Integration für Bun-Apps. |
-
Erfahren Sie mehr: 📄Deno Hosting- - Hosting-: 📦 CommunityToolkit.Aspire. Hosting.Deno - Client: N/A |
Eine Hosting-Integration für Deno Apps. |
-
Mehr erfahren: 📄 Go Hosting - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Golang - Client: Nicht verfügbar |
Eine Hostingintegration für Go-Apps. |
-
Erfahren Sie mehr: 📄 Java/Spring Hosting-Dienst - Hosting-: 📦 CommunityToolkit.Aspire.Hosting.Java - Client: N/A |
Eine Integration zum Ausführen von Java-Code in .NET.NET Aspire entweder mithilfe des lokalen JDK oder mithilfe eines Containers. |
-
Mehr erfahren: 📄Node.js Erweiterungen für Hosting - Hosting-: 📦 CommunityToolkit.Aspire. Hosting.NodeJs.Extensions - Client: N/A |
Eine Integration, die einige zusätzliche Erweiterungen für die Ausführung von Node.js Anwendungen enthält |
-
Erfahren Sie mehr: 📄 Ollama - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Ollama - Client: 📦Aspire.CommunitToolkit.OllamaSharp |
Eine Aspire Komponente, die den Ollama Container mit der Möglichkeit verwendet, ein Modell beim Start herunterzuladen. |
-
Mehr erfahren: 📄 Meilisearch Hosting - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Meilisearch - Client: 📦Aspire. CommunitToolkit.Meilisearch |
Eine Aspire Komponente, die den Meilisearch Container nutzt. |
-
Erfahren Sie mehr: 📄 Rust Hosting - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Rust - Client: N/A |
Eine Hostingintegration für Rust-Apps. |
-
Mehr erfahren: 📄 Hosting von SQL-Datenbankprojekten - Hosting: 📦 CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects - Client: N/A |
Eine Aspire Hostingintegration für SQL-Datenbankprojekte. |
Sie finden weitere Informationen unter .NET.NET Aspire Community Toolkit.