連線至 Azure 服務、gRPC、OpenAPI 等等

開發人員正在建置具有越來越多的服務的應用程式,然而服務技術的發展速度也一樣快。

使用 Visual Studio 的連線服務,您會獲得現代化服務取用體驗,讓服務都能量身打造其取用體驗,提示您快速啟動所需的相關問題。

已連線的服務包括 Visual Studio 中的工具集合,可協助您將應用程式連線至下列項目:

  • Azure 服務
  • OpenAPI 端點
  • gRPC (遠端程序呼叫) 端點
  • Windows Communication Foundation (WCF) 端點
  • 資料庫和資料提供者

以滑鼠右鍵按一下 [方案總管] 中的 [已連線的服務] 節點,然後選取 [管理已連線的服務] 以開始使用。

以滑鼠右鍵按一下專案節點,然後選擇 [新增] > [已連線的服務] 來開始使用。 您也可以以滑鼠右鍵按一下 [方案總管] 中的 [已連線的服務] 節點,然後選擇要新增的特定服務。

支援的專案類型會因服務類型而異。 您會在列出的選取範圍中看到套用至專案類型的選項。

許多 Visual Studio 訂用帳戶都包含 Azure 個人開發/測試點數。 Visual Studio 訂閱者可以使用這些點數,免費試用各項 Azure 服務。 如果您不是訂閱者,而且沒有 Azure 訂用帳戶,則可以建立免費帳戶

將您的應用程式連線至 Azure 服務

使用已連線的服務將應用程式連線至即時 Azure 服務模擬器,以及其他 Azure 服務的本機替代項目。 Visual Studio 目前支援下列項目:

名稱 描述
Azure 應用程式組態 存取在 Azure 中集中管理的機碼值設定和功能旗標。
Azure 應用程式見解 為即時 Web 應用程式提供可延伸的應用程式效能管理和監視。
Azure App Service 提供即時 Web 應用程式的完整服務、可調整裝載。
Azure Functions 為 Web API 等提供可調整的計算隨選服務。
Azure 儲存體 支援 Blob、資料表、佇列、磁碟的可調整雲端儲存空間。
Azure SignalR Service 透過 HTTP 的即時 Web 功能。
Azure Key Vault 為 Azure 應用程式所使用的密碼編譯金鑰和其他祕密保護雲端儲存空間。
Azure SQL Database 雲端託管的 SQL 資料庫
Azure Cache for Redis 以 Redis 軟體為基礎的記憶體內部資料存放區。
Azure Cosmos DB 適用於新式應用程式開發的完全受控 NoSQL 資料庫。
Microsoft 身分識別平台 使用 Microsoft 身分識別和社交帳戶進行驗證。

注意

使用 [發佈],您可以將應用程式部署至 Azure 主控服務,例如 Azure VM、Azure App Service、Azure Functions 和 Azure Container Registry

資料庫和資料提供者

Visual Studio 提供連線至內部部署資料庫、本機模擬的資料提供者版本,以及 Azure 資料庫服務的選項。

名稱 描述
容器上的 Azure Cosmos DB 模擬器 在本機容器中執行的 Azure Cosmos DB 模擬器。
容器上的 MongoDB MongoDB 文件資料庫提供高可靠性及簡單的可擴縮性。 此選項可在本機容器中使用。
容器上的 PostgreSQL PostgreSQL 是提供可靠性和資料完整性的物件關聯式資料庫系統。 此選項可在本機容器中使用。
SQLite SQLite 是內含式程式庫,可提供獨立、交易式 SQL Server 資料庫引擎,而不需要任何設定。
SQL Server 資料庫 內部部署 SQL Server 資料庫。

支援 Azure 模擬器和本機替代項目

Visual Studio 可讓您更輕鬆地在本機開發 Azure 應用程式,方法是簡化從本機模擬服務到雲端中執行服務的轉換。 您可以使用已連線的服務將應用程式連線至本機模擬器,其中有些會在本機容器中執行,以及將其他本機替代項目連線至 Azure 服務。 Visual Studio 目前支援下列項目:

Visual Studio 會產生任何必要的用戶端或伺服器程式碼,以利通訊。

名稱 描述
容器上的 Azure Cosmos DB 模擬器 在本機容器中執行的 Azure Cosmos DB 模擬器。
Azure 儲存體模擬器 Azurite 是在本機電腦上執行的 Azure 儲存體模擬器。
Application Insights SDK Application Insights 服務的本機模式。
容器上的 RabbitMQ RabbitMQ 是一種開放原始碼的多通訊協定訊息代理程式。 此選項可在本機容器中使用。
容器上的 Azure Cache for Redis 裝載在本機容器中的 Azure Cache for Redis。
Secrets.json Key Vault 的本機替代項目。
SQL Server Express LocalDB Azure SQL Database 的本機替代項目。

將您的應用程式連線至 gRPC、OpenAPI 和 WCF 端點

使用已連線的服務將應用程式連線至下列任何服務:

名稱 ASP.NET Link 描述
OpenAPI 端點 使用 OpenAPI 開發 ASP.NET Core 應用程式 以電腦可讀取且人類可閱讀形式描述服務功能的標準格式。
gRPC 端點 .NET 上的 gRPC 服務簡介 開放原始碼即時程序呼叫服務。
WCF 端點 N/A .NET Framework 解決方案,支援使用分散式服務網路進行程式設計。

容器

已連線的服務可協助您執行應用程式相依性,這些相依性會在容器中本機模擬 Azure 服務。 例如,您可以在本機的容器中執行名為 Azurite 的 Azure 儲存體模擬器。 下一節說明當您在容器中使用這些模擬服務,以使用在 Azure 中執行的實際服務時,Visual Studio 提供哪些支援,以從開發模式轉換應用程式。

本機和連線的設定

在開發期間,您通常會使用本機模擬器、本機資料庫或本機容器中執行的模擬服務。 當您在 Visual Studio 中使用發佈程序來部署至雲端時,無論是 Azure、Docker Hub 或其他支援的遠端環境,Visual Studio 都可以引導您完成連線至實際服務和資料庫的轉換。 當您以滑鼠右鍵按一下 [方案總管] 中的專案節點並選擇 [發佈] 時,系統會引導您將應用程式部署至雲端,但之後,您先前設定為本機使用的服務相依性現在會顯示在 [已連線的服務] UI 中,並顯示黃色警告圖示和 [設定] 連結:

Screenshot showing the Configure option in the Connected Services tab.

如果您按一下這些連結,Visual Studio 將會顯示一些畫面,這些畫面會要求雲端中所執行您的雲端應用程式將使用「實際」服務 (而不是本機服務) 的連線資訊。 例如,如果您一開始將應用程式設定為使用 SQL LocalDB 的本機執行執行個體來執行,則系統會提供連接字串名稱與參考該 LocalDB 資料庫的初始值。 第一次將應用程式部署至雲端環境之後,您可以使用 [設定] 連結來指定要在雲端中使用的連接字串。 針對 Azure 部署案例,Visual Studio 也提供使用 Azure Key Vault 以安全地儲存連接字串和其他祕密的選項。

Screenshot showing the options presented to replace the SQL LocalDB service with a real database connection.

運作方式

Visual Studio 會在 [方案總管] 的 [屬性] 底下建立兩個新的檔案,稱為 serviceDependencies.jsonserviceDependencies.local.json。 這兩個檔案都可以安全簽入,因為它們不包含任何祕密。

Visual Studio 也會建立名為 serviceDependencies.local.json.user 的檔案,預設不會顯示在 [方案總管] 中。 此檔案包含可視為祕密的資訊 (例如 Azure 中的資源識別碼),我們不建議將其簽入。