共用方式為


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

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

透過 Visual Studio 的 Connected Services,您可以取得現代化服務取用體驗,讓每個服務都能量身打造其取用體驗,並提示您快速啟動所需的相關問題。

線上服務包含 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(Azure 功能) 為 Web API 等提供可調整的計算隨選服務。
Azure 儲存體 可調整的雲端儲存,支援物件儲存、資料表、佇列、磁碟。
Azure SignalR Service 透過 HTTP 的即時 Web 功能。
Azure Key Vault 為您的 Azure 應用程式所使用的密碼編譯金鑰和其他秘密提供安全的雲端儲存。
Azure SQL Database 雲端託管的 SQL 資料庫。
Azure Redis 快取服務 (Azure Cache for Redis) 以 Redis 軟體為基礎的記憶體內部資料存放區。
Azure Cosmos DB 適用於新式應用程式開發的完全受控 NoSQL 資料庫。
Microsoft Identity Platform 使用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 資料庫引擎。
SQL 伺服器資料庫 內部部署 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 是開放原始碼的 Multiprotocol 訊息代理程式。 此選項可在本機容器中使用。
Azure Cache for Redis 在容器 裝載於本地容器中的 Azure Cache for Redis。
Secrets.json Key Vault 的本機替代方案。
SQL Server Express LocalDB Azure SQL Database 的本機替代方案。

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

使用連線服務將應用程式連線到下列任何服務:

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

器皿

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

本地和連線的設定

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

螢幕快照,顯示 [已連線的服務] 索引卷標中的 [設定] 選項。

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

顯示以實際資料庫連線取代 SQL LocalDB 服務選項的螢幕快照。

運作方式

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

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