了解 .NET Aspire 工具
.NET Aspire 在 Visual Studio 使用者介面新增了相關工具,以協助您建立和管理雲端原生應用程式。 這些工具可避免混淆,因為完整的應用程式由哪些元件組成是很明確的,即使元件在不同的容器中執行亦然。 .NET Aspire 儀表板也會提供執行中應用程式的統一檢視,其中包含可協助您進行測試及偵錯的診斷和監視資料。
再次以虛構的戶外活動服裝和設備公司為例。 您的開發小組已完成每個微服務的架構設計,而想要開始進行開發。 您想要了解他們如何在 Visual Studio 和命令列中使用 .NET Aspire。
在本單元中,您將了解 .NET Aspire 工具,及其如何在開發人員建立和偵錯雲端原生應用程式時提供協助。
必要條件
安裝 .NET Aspire 之前,您的電腦上必須要有下列項目:
- .NET 8.0
- 裝載容器的 Docker Desktop 或 Podman。
- 整合式開發環境 (IDE) (例如 Visual Studio) 或程式碼編輯器 (例如 Visual Studio Code)
如果您使用 Visual Studio,則必須安裝 17.9 版或更高版本。
注意
必須使用 Docker Desktop 或 Podman 裝載容器,供 .NET Aspire 用來執行微服務和某些支援服務。 由於 .NET Aspire 會為您設定及編譯映像和容器,您無須具備容器方面的專業。
安裝 .NET Aspire
如果您使用 Microsoft Visual Studio,您可以從 ASP.NET 和 Web 開發工作負載新增 .NET Aspire SDK 元件 ,以安裝 .NET Aspire。 安裝之後,新的工具即可供使用。 您將在本課程模組稍後的練習中完成這些步驟。
或者,如果您不想使用 Visual Studio 安裝程式,可以使用 .NET CLI 來安裝 .NET Aspire:
dotnet workload update
dotnet workload install aspire
dotnet workload list
Visual Studio 中的專案範本
已新增五個 .NET Aspire 應用程式範本。 您可以將其用來建立新的應用程式:
- .NET Aspire 應用程式:此範本會建立具有兩個專案的基本 .NET Aspire 解決方案:應用程式主機專案會協調解決方案,而服務預設值專案則會管理可重複使用的設定詳細資料,以供復原、服務探索和遙測之用。
- .NET Aspire 入門應用程式:此範本會建立完整的解決方案。 其中包含與上一個範本相同的應用程式主機和服務預設值專案,並新增了用於後端 API 服務和前端 Web 介面的專案。
- .NET Aspire 應用程式主機:此範本只會在新的解決方案中建立應用程式主機專案。 您可以新增微服務、程式庫和其他專案,以完成您的應用程式。
- .NET Aspire 服務預設值:此範本只會在新的解決方案中建立服務預設值專案。
- .NET Aspire 測試專案:此範本會為應用程式主機建立 xUnit 測試。
注意
您也可以將 .NET Aspire 新增至您在 Visual Studio 中開啟的任何現有的 .NET Web 應用程式。 在 [方案總管] 中,以滑鼠右鍵按一下專案並選取 [新增],然後選取 [.NET Aspire Orchestrator 支援]。 此動作會將應用程式主機和服務預設值專案新增至解決方案,並在其中註冊現有的專案,以用於服務探索和其他 .NET Aspire 功能。
.NET Aspire 儀表板
在處理應用程式時,您可以按 F5 鍵使用 Visual Studio 偵錯工具執行程式碼。 您執行此動作時,Visual Studio 會自動為每個微服務建置 Docker 映像,並啟動 Docker 服務 (若未執行),然後執行完整的應用程式。 此外也會顯示 .NET Aspire 儀表板;此儀表板可用來連線至微服務、調查應用程式的效能,以及監視其行為:
重要
.NET Aspire 專案範本會將應用程式主機專案設定為解決方案的啟始專案。 如果您變更啟始專案,在偵錯期間,.NET Aspire 儀表板和解決方案的其他層面將無法正常運作。
在儀表板的首頁,您可以看到組成應用程式的所有資源。 每個微服務都會列為專案。 支援服務 (例如 Redis 快取) 會列為容器。 其他元件可能會以可執行檔的形式呈現。 您可以取得每個資源的詳細資料。 微服務也具有端點資料行。 選取此資料行中的連結,可連線至瀏覽器中的資源並予以測試。
儀表板中有四個監視區段:
- 主控台記錄:此頁面會顯示從您在頂端選取的專案傳送至標準輸出的任何文字。 標準輸出通常用來報告事件或狀態訊息。
- 結構化記錄:此頁面會顯示 OpenTelemetry 程式庫所產生的事件。 結構化記錄會保留訊息範本和參數,因此比其他記錄事件更容易查詢。
- 追蹤:此頁面會顯示應用程式所接收之每個要求的追蹤。 詳細資料包括時間戳記、追蹤的完成時間,以及追蹤的持續時間。 [範圍] 資料行會顯示要求中涉及的所有資源。 如果您在 [詳細資料] 資料行中選取 [檢視],則會看到一個時間軸列出追蹤中的所有範圍及其持續時間。
- 計量:此頁面會顯示您所選取之任何計量的圖表。 首先,選擇頁面頂端的專案。 然後,從計量清單中選擇,其中包含使用中要求計數、要求持續時間、連線計數和其他效能資料等值。 當您選取計量時,會顯示即時圖表。 您可以變更圖表的時間間隔,或藉由篩選以向下切入至更多診斷資訊。