översikt över .NET.NET Aspire-integreringar
.NET Aspire integreringar är en kuraterad uppsättning NuGet-paket som valts för att underlätta integreringen av molnbaserade program med framstående tjänster och plattformar, till exempel Redis och PostgreSQL. Varje integrering tillhandahåller viktiga molnbaserade funktioner genom antingen automatisk etablering eller standardiserade konfigurationsmönster.
Tips
Sträva alltid efter att använda den senaste versionen av .NET.NET Aspire-integreringar för att dra nytta av de senaste funktionerna, förbättringarna och säkerhetsuppdateringarna.
Integrationsansvar
De flesta .NET.NET Aspire integreringar består av två separata bibliotek, var och en med ett annat ansvar. En typ representerar resurser i appvärd projekt – kallas värd för integreringar. Den andra typen av integrering representerar klientbibliotek som ansluter till de resurser som modelleras av hosting-integreringar, och som kallas klientintegreringar.
Värd för integreringar
Värdintegrationer konfigurerar applikationer genom att etablera resurser (till exempel containrar eller molnresurser) eller peka på befintliga instanser (till exempel en lokal SQL-server). Dessa paket modellerar olika tjänster, plattformar eller funktioner, inklusive cacheminnen, databaser, loggning, lagring och meddelandesystem.
Värdintegrering utökar IDistributedApplicationBuilder-gränssnittet så att appvärd projekt kan uttrycka resurser i sin appmodell. De officiella som är värdar för integrering av NuGet-paket är taggade med aspire
, integration
och hosting
. Förutom de officiella värdintegreringarna har community skapat värdintegreringar för olika tjänster och plattformar som en del av Community Toolkit.
Information om hur du skapar en anpassad värdintegrationfinns i Skapa anpassad .NET.NET Aspire värdintegration.
Client integreringar
Client integreringar kopplar klientbibliotek till beroendeinjektion (DI), definierar konfigurationsschema och lägger till hälsokontroller, resiliensoch telemetri där det är tillämpligt.
.NET
.NET Aspire klientintegreringsbibliotek är prefixade med Aspire.
och inkluderar sedan det fullständiga paketnamnet som de integrerar med, till exempel Aspire.StackExchange.Redis
.
Dessa paket konfigurerar befintliga klientbibliotek för att ansluta till värdintegreringar. De utökar IHostApplicationBuilder-gränssnittet så att klientanvändande projekt, till exempel webbappen eller API:et, kan använda den anslutna resursen. De officiella NuGet-paketen för -klientintegrering är märkta med aspire
, integration
och client
. Förutom de officiella klientintegreringarna har community skapat klientintegreringar för olika tjänster och plattformar som en del av Community Toolkit.
Mer information om hur du skapar en anpassad klientintegrering finns i Skapa anpassade .NET.NET Aspire klientintegreringar.
Relation mellan värd- och klientintegreringar
Värd- och klientintegreringar är bäst när de används tillsammans, men är inte kopplade och kan användas separat. Vissa värdintegreringar har inte någon motsvarande klientintegrering. Konfigurationen gör att värdintegreringen fungerar med klientintegreringen.
Tänk på följande diagram som visar relationen mellan värd- och klientintegreringar:
Appvärdprojektet används som värd för integreringar. Konfiguration, särskilt miljövariabler, matas in i projekt, körbara filer och containrar, vilket gör att klientintegreringar kan ansluta till värdintegreringarna.
Integreringsfunktioner
När du lägger till en klientintegrering i ett projekt i din .NET.NET Aspire lösning tillämpas tjänststandard automatiskt på projektet. vilket innebär att servicestandardprojektet refereras till och AddServiceDefaults
-tilläggsmetoden anropas. Dessa standardvärden är utformade för att fungera bra i de flesta scenarier och kan anpassas efter behov. Följande tjänstinställningar tillämpas:
Observability and telemetry: Konfigurerar automatiskt konfigurationer för loggning, spårning och mått:
- Loggning: En teknik där kod instrumenteras för att skapa loggar med intressanta händelser som inträffade när programmet kördes.
- Spårning: En särskild typ av loggning som hjälper dig att lokalisera fel och prestandaproblem i program som distribueras över flera datorer eller processer.
- Mått: Numeriska mätningar som registrerats över tid för att övervaka programmets prestanda och hälsa. Mått används ofta för att generera aviseringar när potentiella problem identifieras.
Hälsokontroller: Exponerar HTTP-slutpunkter för att tillhandahålla grundläggande tillgänglighets- och tillståndsinformation om en app. Hälsokontroller används för att påverka beslut som fattas av containerorkestrerare, lastbalanserare, API-gatewayer och andra hanteringstjänster.
Återhämtning: Systemets förmåga att reagera på fel och fortfarande fungera. Resiliens sträcker sig bortom att förhindra fel till att inkludera återställning och rekonstruktion av din molnnativa miljö till ett hälsosamt tillstånd.
Överväganden för versionshantering
Värd- och klientintegreringar uppdateras varje version för att rikta in sig på de senaste stabila versionerna av beroende resurser. När containeravbildningar uppdateras med nya avbildningsversioner uppdateras värdintegreringarna till dessa nya versioner. På samma sätt, när en ny NuGet-version är tillgänglig för ett beroende klientbibliotek, uppdateras motsvarande klientintegrering till den nya versionen. Detta säkerställer att de senaste funktionerna och säkerhetsuppdateringarna är tillgängliga för program.
När större icke-bakåtkompatibla ändringar sker i beroende resurser kan integreringar tillfälligt delas upp i versionsberoende paket för att underlätta uppdatering av den icke-bakåtkompatibla ändringen. För mer information, se första exemplet på en sådan störande ändring.
Officiella integreringar
.NET .NET Aspire innehåller många integreringar som hjälper dig att skapa molnbaserade program. Dessa integreringar är utformade för att fungera sömlöst med .NET.NET Aspire värdprogram och klientbibliotek. I följande avsnitt beskrivs molnagnostiska, Azure-specific, Amazon Web Services (AWS) och Community Toolkit-integreringar.
Molnagnostiska integrationer
Följande avsnitt beskriver molnagnostiska .NET.NET Aspire integreringar med länkar till respektive dokument och NuGet-paket, och innehåller en kort beskrivning av varje integrering.
Integreringsdokument och NuGet-paket | Beskrivning |
---|---|
-
Läs mer: 📄 Apache Kafka - Hosting: 📦Aspire. Hosting.Kafka - Client: 📦Aspire. Confluent.Kafka |
Ett bibliotek för att producera och konsumera meddelanden från en Apache Kafka broker. |
-
Läs mer: 📄 Dapr - Hosting: 📦Aspire.Hosting.Dapr - Client: N/A |
Ett bibliotek för modellering Dapr som en .NET.NET Aspire resurs. |
-
Läs mer: 📄 Elasticsearch - Hosting: 📦Aspire.Hosting.Elasticsearch - Client: 📦Aspire. Elastic.Clients.Elasticsearch |
Ett bibliotek för åtkomst till Elasticsearch databaser. |
-
Läs mer: 📄 Keycloak - Hosting: 📦Aspire.Hosting.Keycloak - Client: 📦Aspire.Keycloak. Autentisering |
Ett bibliotek för åtkomst till Keycloak autentisering. |
-
Läs mer: 📄 Milvus - Hosting: 📦Aspire.Hosting.Milvus - Client: 📦Aspire.Milvus.Client |
Ett bibliotek för åtkomst till Milvus databaser. |
-
Läs mer: 📄MongoDB Driver - Hosting: 📦Aspire.Hosting.MongoDB - Client: 📦Aspire.MongoDB. Drivrutin |
Ett bibliotek för åtkomst till MongoDB databaser. |
-
Läs mer: 📄 MySqlConnector - Hosting: 📦Aspire.Hosting.MySql - Client: 📦Aspire. MySqlConnector |
Ett bibliotek för åtkomst till MySqlConnector- databaser. |
-
Läs mer: 📄 NATS - Hosting: 📦Aspire.Hosting.Nats - Client: 📦Aspire.NATS.Net |
Ett bibliotek för att komma åt NATS meddelanden. |
-
Läs mer: 📄Oracle – EF Core - Hosting: 📦Aspire.Hosting.Oracle - Client: 📦Aspire.Oracle. EntityFrameworkCore |
Ett bibliotek för att komma åt Oracle-databaser med Entity Framework Core. |
-
Läs mer: 📄 Orleans - Hosting: 📦Aspire.Hosting.Orleans - Client: N/A |
Ett bibliotek för modellering Orleans som en .NET.NET Aspire resurs. |
-
Läs mer: 📄 Pomelo MySQL – EF Core - Hosting: 📦Aspire. Hosting.MySql - Client: 📦Aspire. Pomelo.EntityFrameworkCore.MySql |
Ett bibliotek för åtkomst till MySql-databaser med Entity Framework Core. |
-
Läs mer: 📄PostgreSQL – EF Core - Hosting: 📦Aspire.Hosting.PostgreSQL - Client: 📦Aspire. Npgsql.EntityFrameworkCore.PostgreSQL |
Ett bibliotek för att komma åt PostgreSQL databaser med hjälp av Entity Framework Core. |
-
Läs mer: 📄 PostgreSQL - Hosting: 📦Aspire.Hosting.PostgreSQL - Client: 📦Aspire. Npgsql |
Ett bibliotek för åtkomst till PostgreSQL databaser. |
-
Läs mer: 📄 Qdrant - Hosting: 📦Aspire. Hosting.Qdrant - Client: 📦Aspire. Qdrant.Client |
Ett bibliotek för åtkomst till Qdrant- databaser. |
-
Läs mer: 📄 RabbitMQ - Hosting: 📦Aspire.Hosting.RabbitMQ - Client: 📦Aspire.RabbitMQ.Client |
Ett bibliotek för att komma åt RabbitMQ. |
-
Läs mer: 📄Redis distribuerad cachelagring - Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garneteller 📦Aspire. Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis. Distribuerad cachelagring |
Ett bibliotek för åtkomst till Redis cacheminnen för distribuerad cachelagring. |
-
Läs mer: 📄Redis Cachelagring av utdata - Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garneteller 📦Aspire. Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis. OutputCaching |
Ett bibliotek för åtkomst till Redis cacheminnen för cachelagring av utdata. |
-
Läs mer: 📄 Redis - Hosting: 📦Aspire. Hosting.Redis, 📦Aspire. Hosting.Garneteller 📦Aspire. Hosting.Valkey - Client: 📦Aspire. StackExchange.Redis |
Ett bibliotek för åtkomst till Redis cacheminnen. |
-
Läs mer: 📄 Seq - Hosting: 📦Aspire.Hosting.Seq - Client: 📦Aspire.Seq |
Ett bibliotek för loggning till Seq. |
-
Läs mer: 📄SQL Server – EF Core - Hosting: 📦Aspire.Hosting.SqlServer - Client: 📦Aspire. Microsoft.EntityFrameworkCore.SqlServer |
Ett bibliotek för att komma åt SQL Server databaser med hjälp av EF Core. |
-
Läs mer: 📄 SQL Server - Hosting: 📦Aspire.Hosting.SqlServer - Client: 📦Aspire. Microsoft.Data.SqlClient |
Ett bibliotek för åtkomst till SQL Server databaser. |
Mer information om hur du arbetar med .NET Aspire-integreringar i Visual Studiofinns i Visual Studio verktyg.
Azure integreringar
Azure-integreringar konfigurerar program att använda Azure resurser. Dessa värdintegreringar är tillgängliga i Aspire.Hosting.Azure.*
NuGet-paket, medan deras klientintegreringar är tillgängliga i Aspire.*
NuGet-paket:
Amazon Web Services (AWS) värdintegrationer
Integreringsdokument och NuGet-paket | Beskrivning |
---|---|
-
Läs mer: 📄 AWS Hosting - Hosting: 📦Aspire. Hosting.AWS - Client: N/A |
Ett bibliotek för modellering AWS-resurser. |
Mer information finns i GitHub: Aspire. Hosting.AWS-bibliotek.
Community Toolkit-integreringar
Not
Community Toolkit-integreringarna är communitydrivna och underhålls av den .NET.NET Aspire communityn. Dessa integreringar stöds inte officiellt av .NET.NET Aspire-teamet.
Integreringsdokument och NuGet-paket | Beskrivning |
---|---|
-
Läs mer: 📄Azure Static Web Apps-emulatorn - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Azure.StaticWebApps - Client: N/A |
En värdintegrering för Azure Static Web Apps-emulatorn (Obs! Detta stöder inte distribution av ett projekt till Azure Static Web Apps). |
-
Läs mer: 📄 Bun som värd för - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Bun - Client: N/A |
En värdintegrering för Bun-appar. |
-
Läs mer: 📄Deno värd för - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Deno - Client: N/A |
En värdintegrering för Deno appar. |
-
Läs mer: 📄 Go som värd för - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Golang - Client: N/A |
En värdintegrering för Go-appar. |
-
Läs mer: 📄 Java/Spring-hosting - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Java - Client: N/A |
En integrering för att köra Java-kod i .NET.NET Aspire antingen med hjälp av den lokala JDK:t eller med hjälp av en container. |
-
Läs mer: 📄Node.js värdtillägg - Hosting: 📦 CommunityToolkit.Aspire. Hosting.NodeJs.Extensions - Client: N/A |
En integrering som innehåller några ytterligare tillägg för att köra Node.js program |
-
Läs mer: 📄 Ollama - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Ollama - Client: 📦Aspire.CommunitToolkit.OllamaSharp |
En Aspire komponent som utnyttjar containern Ollama med stöd för att ladda ned en modell vid start. |
-
Läs mer: 📄 Meilisearch som värd för - Hosting: 📦 CommunityToolkit.Aspire.Hosting.Meilisearch - Client: 📦Aspire. CommunitToolkit.Meilisearch |
En Aspire komponent som utnyttjar containern Meilisearch. |
-
Läs mer: 📄 Rust som värd för - Hosting: 📦 CommunityToolkit.Aspire. Hosting.Rust - Client: N/A |
En värdintegrering för Rust-appar. |
-
Läs mer: 📄 SQL Database-projekt som är värdar för - Hosting: 📦 CommunityToolkit.Aspire. Hosting.SqlDatabaseProjects - Client: N/A |
En Aspire värdintegrering för SQL Database Projects. |
Mer information finns i .NET.NET Aspire Community Toolkit.
.NET Aspire