Freigeben über


Herstellen einer Verbindung mit Azure-Diensten, gRPC, OpenAPI und mehr

Entwickler erstellen Apps mit einer zunehmenden Anzahl von Diensten, aber die Diensttechnologien entwickeln sich genauso schnell.

Mit dem Connected Servicesvon Visual Studio erhalten Sie eine moderne Dienstnutzungserfahrung, mit der jeder Dienst die Möglichkeit bietet, seine Verbrauchserfahrung anzupassen und Sie zu den relevanten Fragen aufzufordern, die Sie benötigen, um schnell loszulegen.

Verbundene Dienste enthalten eine Sammlung von Tools in Visual Studio, die Ihnen dabei helfen, Ihre Anwendung mit den folgenden Verbindungen zu verbinden:

  • Azure-Dienste
  • OpenAPI-Endpunkte
  • gRPC-Endpunkte (Remote Procedure Call, Remoteprozeduraufruf)
  • Windows Communication Foundation (WCF)-Endpunkte
  • Datenbanken und Datenanbieter

Beginnen Sie, indem Sie mit der rechten Maustaste auf den Knoten Verbundene Dienste im Projektmappen-Explorer klicken und "Verbundene Dienste verwalten"auswählen.

Beginnen Sie, indem Sie mit der rechten Maustaste auf den Projektknoten klicken und > verbundenen Dienst hinzufügenauswählen. Sie können auch mit der rechten Maustaste auf den Knoten Connected Services im Projektmappen-Explorer klicken und einen bestimmten Dienst auswählen, den Sie hinzufügen möchten.

Unterstützte Projekttypen variieren je nach Diensttyp. In den aufgeführten Auswahlen werden die Optionen angezeigt, die für Ihren Projekttyp gelten.

Viele Visual Studio-Abonnements enthalten individuelle Azure Dev/Test-Gutschriften. Wenn Sie ein Visual Studio-Abonnent sind, können Sie diese Gutschriften verwenden, um verschiedene Azure-Dienste kostenlos auszuprobieren. Wenn Sie kein Abonnent sind und kein Azure-Abonnement besitzen, können Sie ein kostenloses Kontoerstellen.

Verbinden Ihrer App mit Azure-Diensten

Verwenden Sie verbundene Dienste, um Ihre Anwendung mit Live-Azure-Diensten-Emulatoren und anderen lokalen Alternativen zu Azure-Diensten zu verbinden. Visual Studio unterstützt derzeit Folgendes:

Name Beschreibung
Azure App Configuration Greifen Sie auf Schlüssel-Wert-Einstellungen und Feature-Flags zu, die zentral in Azure verwaltet werden.
Azure App Insights Bietet erweiterbare Anwendungsleistungsverwaltung und -überwachung für Live-Web-Apps.
Azure App Service Bietet Full-Service, skalierbares Hosting von Live-Web-Apps.
Azure Functions Bietet skalierbare Compute-on-Demand-Dienste für Web-APIs und vieles mehr.
Azure Storage Skalierbarer Cloudspeicher mit Unterstützung für Blobs, Tabellen, Warteschlangen, Datenträger.
Azure SignalR-Dienst Echtzeit-Webfunktionalität über HTTP.
Azure Key Vault Sichern Sie den Cloudspeicher für kryptografische Schlüssel und andere geheime Schlüssel, die von Ihren Azure-Anwendungen verwendet werden.
Azure SQL-Datenbank In der Cloud gehostete SQL-Datenbank.
Azure Cache for Redis In-Memory-Datenspeicher basierend auf der Redis-Software.
Azure Cosmos DB Eine vollständig verwaltete NoSQL-Datenbank für die moderne App-Entwicklung.
Microsoft Identity Platform Authentifizierung mit Microsoft-Identitäten und Konten für soziale Netzwerke.

Anmerkung

Mit Veröffentlichen können Sie Ihre Anwendung auf Azure-Hostingdienste wie Azure-VMs, Azure App Service, Azure Functions und Azure Container Registry bereitstellen.

Datenbanken und Datenanbieter

Visual Studio bietet Optionen zum Herstellen einer Verbindung mit lokalen Datenbanken, lokal emulierten Versionen von Datenanbietern sowie Azure-Datenbankdiensten.

Name Beschreibung
Azure Cosmos DB Emulator im Container Azure Cosmos DB-Emulator, der in einem lokalen Container ausgeführt wird.
MongoDB für Container MongoDB-Dokumentdatenbanken bieten hohe Zuverlässigkeit und einfache Skalierbarkeit. Diese Option stellt sie in einem lokalen Container zur Verfügung.
PostgreSQL für Container PostgreSQL ist ein objektrelationales Datenbanksystem, das Zuverlässigkeit und Datenintegrität bereitstellt. Diese Option stellt sie in einem lokalen Container zur Verfügung.
SQLite SQLite ist eine in-Process-Bibliothek, die ein eigenständiges, transaktionsbasiertes SQL Server-Datenbankmodul ohne Konfiguration bereitstellt.
SQL Server-Datenbank Lokale SQL Server-Datenbank.

Unterstützung für Azure-Emulatoren und lokale Alternativen

Visual Studio erleichtert die lokale Entwicklung von Azure-Anwendungen durch Beschleunigung des Übergangs von lokal emulierten Diensten zu Diensten, die in der Cloud ausgeführt werden. Sie können verbundene Dienste verwenden, um Ihre Anwendung mit lokalen Emulatoren zu verbinden, von denen einige in einem lokalen Container und andere lokale Alternativen zu Azure-Diensten ausgeführt werden. Visual Studio unterstützt derzeit Folgendes:

Visual Studio generiert alle erforderlichen Client- oder Servercode, um die Kommunikation zu erleichtern.

Name Beschreibung
Azure Cosmos DB Emulator in einem Container Azure Cosmos DB-Emulator, der in einem lokalen Container ausgeführt wird.
Azure Storage Emulator Azurite ist ein Azure Storage-Emulator, der auf Ihrem lokalen Computer ausgeführt wird.
Application Insights SDK Lokaler Modus für den Application Insights-Dienst.
RabbitMQ für Container RabbitMQ ist ein Open-Source-Multiprotocol-Nachrichtenbroker. Diese Option stellt sie in einem lokalen Container zur Verfügung.
Azure Cache für Redis in Container Azure Cache für Redis, der in einem lokalen Container gehostet wird.
Secrets.json Lokale Alternative für Key Vault.
SQL Server Express LocalDB Lokale Alternative zur Azure SQL-Datenbank.

Verbinden Ihrer App mit gRPC-, OpenAPI- und WCF-Endpunkten

Verwenden Sie verbundene Dienste, um Ihre Anwendung mit einem der folgenden Dienste zu verbinden:

Name ASP.NET-Verknüpfung Beschreibung
OpenAPI-Endpunkte OpenAPI-Unterstützung in ASP.NET Core-API-Apps Ein Standardformat zur Beschreibung der Funktionen eines Diensts in computerlesbarer und lesbarer Form.
gRPC-Endpunkte Einführung in gRPC-Dienste in .NET Ein Open-Source-Echtzeitprozeduraufrufdienst.
WCF-Endpunkte N/A Eine .NET Framework-Lösung, die die Programmierung mit einem verteilten Netzwerk von Diensten unterstützt.

Container

Mit verbundenen Diensten können Sie Anwendungsabhängigkeiten ausführen, die Azure-Dienste lokal in einem Container emulieren. Sie können beispielsweise den Azure Storage-Emulator namens Azurite lokal in einem Container ausführen. Im nächsten Abschnitt wird beschrieben, welche Unterstützung Visual Studio für den Übergang Ihrer App vom Entwicklungsmodus bietet, wenn Sie diese Pseudodienste in Containern verwenden, um die tatsächlichen Dienste zu verwenden, die in Azure ausgeführt werden.

Lokale und verbundene Konfigurationen

Während der Entwicklung verwenden Sie in der Regel einen lokalen Emulator, eine lokale Datenbank oder einen simulierten Dienst, der in einem lokalen Container ausgeführt wird. Wenn Sie den Veröffentlichungsprozess in Visual Studio für die Bereitstellung in der Cloud verwenden, unabhängig davon, ob es sich um Azure, Docker Hub oder eine andere unterstützte Remoteumgebung handelt, kann Visual Studio Sie durch den Übergang zur Verbindung mit den echten Diensten und Datenbanken führen. Wenn Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten klicken und Veröffentlichenauswählen, werden Sie durch die Bereitstellung Ihrer App in der Cloud geführt, aber danach werden die Dienstabhängigkeiten, die Sie zuvor für die lokale Verwendung konfiguriert haben, nun in der Benutzeroberfläche für verbundene Dienste mit einem gelben Vorsichtssymbol und einem Link " konfigurieren" angezeigt:

Screenshot mit der Option

Wenn Sie auf diese Links klicken, zeigt Visual Studio einige Bildschirme an, die die Verbindungsinformationen zum "echten" Dienst anfordern, der in der Cloud ausgeführt wird, die Ihre Cloud-App anstelle des lokalen Diensts verwendet. Wenn Sie z. B. zunächst eine App für die Ausführung mit einer lokal ausgeführten Instanz von SQL LocalDB konfiguriert haben, hätten Sie einen Verbindungszeichenfolgennamen und einen Anfangswert bereitgestellt, der auf diese LocalDB-Datenbank verweist. Nachdem Ihre App zum ersten Mal in einer Cloudumgebung bereitgestellt wurde, können Sie die Konfigurieren Links verwenden, um die in der Cloud zu verwendende Verbindungszeichenfolge anzugeben. In Azure-Bereitstellungsszenarien bietet Visual Studio auch die Möglichkeit, eine Azure Key Vault- zum sicheren Speichern der Verbindungszeichenfolge und anderer geheimer Schlüssel zu verwenden.

Screenshot mit den Optionen, die dargestellt werden, um den SQL LocalDB-Dienst durch eine echte Datenbankverbindung zu ersetzen.

Funktionsweise

Visual Studio erstellt zwei neue Dateien, die im Projektmappen-Explorer unter Eigenschaften mit dem Namen serviceDependencies.json und serviceDependencies.local.jsonangezeigt werden. Beide Dateien können gefahrlos eingecheckt werden, da sie keine Geheimnisse enthalten.

Visual Studio erstellt außerdem eine Datei namens serviceDependencies.local.json.user, die im Projektmappen-Explorer standardmäßig nicht sichtbar ist. Diese Datei enthält Informationen, die als geheim eingestuft werden können (z. B. Ressourcen-IDs in Azure), und es wird nicht empfohlen, sie einzuchecken.