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 Connected Services von Visual Studio erhalten Sie eine moderne Erfahrung für die Nutzung von Diensten, die es jedem Dienst ermöglicht, seine Nutzungserfahrung anzupassen und Sie zu den relevanten Fragen zu führen, die Sie für einen schnellen Start benötigenm.

Verbundene Dienste umfassen eine Sammlung von Tools in Visual Studio, mit der Sie Ihre Anwendung mit folgenden Diensten und Elementen verknüpfen können:

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

Klicken Sie zunächst mit der rechten Maustaste auf den Knoten Verbundene Dienste im Projektmappen-Explorer und wählen Sie Verbundene Dienste verwalten aus.

Klicken Sie zunächst mit der rechten Maustaste auf den Projektknoten und wählen Sie dann Hinzufügen > Verbundener Dienst aus. Sie können auch mit der rechten Maustaste auf den Knoten Verbundene Dienste im Projektmappen-Explorer klicken und den Dienst auswählen, der hinzugefügt werden soll.

Unterstützte Projekttypen variieren je nach Diensttyp. In der aufgeführten Auswahl sehen Sie die Optionen, 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 Konto erstellen.

Verbinden Ihrer App mit Azure-Diensten

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

Name BESCHREIBUNG
Azure App Configuration Zugriff auf Schlüssel-Wert-Einstellungen und Featureflags, die zentral in Azure verwaltet werden
Azure App Insights Erweiterbare Verwaltung der Anwendungsleistung und Überwachung für Live-Web-Apps
Azure App Service Vollumfängliches, skalierbares Hosting von Live-Web-Apps
Azure-Funktionen Skalierbare Compute-on-Demand-Dienste für Web-APIs und mehr
Azure Storage (in englischer Sprache) Skalierbarer Cloudspeicher mit Unterstützung für Blobs, Tabellen, Warteschlangen und Datenträger
Azure SignalR Service Echtzeitwebfunktionen über HTTP
Azure Key Vault Sichern von Cloudspeicher für kryptografische Schlüssel und andere Geheimnisse, die von Ihren Azure-Anwendungen verwendet werden
Azure SQL-Datenbank Cloud-gehostete SQL-Datenbank.
Azure Cache for Redis In-Memory-Datenspeicher, der auf der Redis-Software basiert
Azure Cosmos DB Eine vollständig verwaltete NoSQL-Datenbank für die moderne App-Entwicklung
Microsoft Identitätsplattform Authentifizierung mit Microsoft-Identitäten und Konten sozialer Netzwerke.

Hinweis

Über „Veröffentlichen“ können Sie Ihre Anwendungen in Azure-Hostingdiensten 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 für Container Azure Cosmos DB-Emulator, der in einem lokalen Container ausgeführt wird.
MongoDB für Container MongoDB-Dokumentdatenbanken sind sehr zuverlässig und einfach skalierbar. Diese Option macht ihn in einem lokalen Container verfügbar.
PostgreSQL für Container PostgreSQL ist ein objektrelationales Datenbanksystem, das Zuverlässigkeit und Datenintegrität bietet. Diese Option macht es in einem lokalen Container verfügbar.
SQLite SQLite ist eine prozessinterne Bibliothek, die eine in sich geschlossene, transaktionale SQL Server-Datenbank-Engine 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, indem der Übergang von lokal emulierten Diensten zu Diensten, die in der Cloud ausgeführt werden, vereinfacht wird. Sie können die Option „Verbundene Dienste“ verwenden, um Ihre Anwendung mit lokalen Emulatoren, von denen einige in einem lokalen Container ausgeführt werden, und anderen lokalen Alternativen zu Azure-Diensten zu verbinden. Visual Studio unterstützt derzeit Folgendes:

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

Name BESCHREIBUNG
Azure Cosmos DB-Emulator für Container Azure Cosmos DB-Emulator, der in einem lokalen Container ausgeführt wird.
Azure-Speicheremulator 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-Multiprotokoll-Nachrichtenbroker. Diese Option macht ihn in einem lokalen Container verfügbar.
Azure Cache für Redis im Container Azure Cache für Redis wird in einem lokalen Container gehostet.
Secrets.json Lokale Alternative zu Key Vault
SQL Server Express LocalDB Lokale Alternative zu Azure SQL-Datenbank

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

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

Name ASP.NET Link Beschreibung
OpenAPI-Endpunkte OpenAPI-Unterstützung in ASP.NET Core-API-Apps Ein Standardformat zum Beschreiben der Funktionen eines Diensts in computerlesbarer und für Menschen lesbarer Form
gRPC-Endpunkte Einführung in gRPC-Dienste in .NET Eine Open-Source-Echtzeitprozedur, die den Dienst aufruft
WCF-Endpunkte N/V Eine .NET Framework-Lösung, die die Programmierung mit einem verteilten Netzwerk von Diensten unterstützt.

Container

Verbundene Dienste können Ihnen bei der Ausführung von Anwendungsabhängigkeiten helfen, die Azure-Dienste lokal in einem Container emulieren. Sie können den Azure Storage-Emulator namens Azurite beispielsweise lokal in einem Container ausführen. Im nächsten Abschnitt wird beschrieben, welche Optionen Visual Studio für den Übergang Ihrer App vom Entwicklungsmodus zu in Azure ausgeführten Diensten bietet, wenn Sie diese Pseudodienste in Containern verwenden.

Lokale und verbundene Konfigurationen

Während der Entwicklung verwenden Sie in der Regel einen lokalen Emulator, eine lokale Datenbank oder einen Pseudodienst, 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, führt Visual Studio Sie durch den Übergangsprozess, bei dem Verbindungen mit echten Diensten und Datenbanken hergestellt werden. Wenn Sie mit der rechten Maustaste auf den Projektknoten im Projektmappen-Explorer klicken und Veröffentlichen auswählen, werden Sie durch die Bereitstellung Ihrer App in der Cloud geführt. Danach werden jedoch die Dienstabhängigkeiten, die Sie zuvor für die lokale Verwendung konfiguriert haben, im Bereich „Verbundene Dienste“ mit einem gelben Warnsymbol und dem Link Konfigurieren angezeigt:

Screenshot: Option „Konfigurieren“ auf der Registerkarte „Verbundene Dienste“

Wenn Sie auf diese Links klicken, zeigt Visual Studio einige Bildschirme an, auf denen nach den Verbindungsinformationen für den Clouddienst gefragt wird, den Ihre Cloud-App anstelle des lokalen Diensts verwendet. Wenn Sie beispielsweise ursprünglich 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 angegeben, der auf diese LocalDB-Instanz verweist. Nachdem Ihre App in einer Cloudumgebung bereitgestellt wurde, können Sie über den Link Konfigurieren die Verbindungszeichenfolge angeben, die in der Cloud verwendet werden soll. Für Azure-Bereitstellungsszenarios bietet Visual Studio auch die Möglichkeit, Azure Key Vault zum sicheren Speichern der Verbindungszeichenfolge und anderer Geheimnisse zu verwenden.

Screenshot: Optionen zum Ersetzen des SQL LocalDB-Diensts durch eine echte Datenbankverbindung

Funktionsweise

Visual Studio erstellt zwei neue Dateien, die im Projektmappen-Explorer unter „Eigenschaften“ mit den Namen serviceDependencies.json und serviceDependencies.local.json sichtbar sind. Beide Dateien können sicher eingecheckt werden, da sie keine Geheimnisse enthalten.

Visual Studio erstellt außerdem eine Datei mit dem Namen serviceDependencies.local.json.user, die im Projektmappen-Explorer standardmäßig nicht sichtbar ist. Diese Datei enthält Informationen, die als Geheimnis angesehen werden können (z. B. Ressourcen-IDs in Azure), daher sollten Sie sie nicht einchecken.