2024年4月11日釋出了.NET Aspire預覽5版本,這個版本引入了對AWS的支援,並對Azure功能進行了改進。重點內容包括拆分Aspire.Hosting和Aspire.Hosting.Azure包,改進了應用程式模型,支援自定義資源在儀表板中更新狀態,增強了與Visual Studio的整合,以及改進了安全性。
.NET Aspire預覽5引入了許多新功能和改進,最大的更新之一是需要新增對 Aspire.Hosting.AppHost NuGet 包的引用。以下是其中一些新功能的具體實現方式:
- 擴充套件方法重新命名:透過重新命名擴充套件方法來支援更多的雲服務,這些更改將使我們能夠更靈活地提供服務,並確保在 .NET Aspire 的核心抽象和應用程式可能需要的各種雲原生依賴項之間保持適當的邊界。例如下表對映了您目前在 AppHost 中可能使用的 Aspire 擴充套件方法和包之間的對映 它們現在包含在其中:
這樣可以更明確地指明正在向WebApplicationBuilder或HostApplicationBuilder中新增一個“客戶端”物件。Azure上的各種服務資源也拆到單獨的包裡:
- 應用程式模型變更,包括支援非安全傳輸、自定義資源等
- 支援非安全傳輸:允許應用程式URL配置為使用非安全傳輸,透過設定環境變數ASPIRE_ALLOW_UNSECURED_TRANSPORT來實現。
- 儀表板中的自定義資源:允許自定義資源在儀表板中更新其狀態並記錄控制檯輸出,透過DI容器中的ResourceNotificationService和ResourceLoggerService實現。
- 改進持久化:改進了為許多基於容器的 .NET Aspire 資源配置容器重啟之間的永續性的便利性。現在可以透過使用擴充套件方法在許多容器上啟用永續性。透過新的擴充套件方法,如使用VolumeMount()和DataVolume(),可以在容器重啟之間實現持久化。
- 自動生成密碼:在 Aspire 的早期預覽版中,當資源新增到應用模型時,每個資源都會建立一個隨機密碼,如果需要,則採用可選的密碼引數。在預覽版 5 中,我們修改了 API 以採用使用者名稱和密碼的引數。如果省略這些引數,則會自動將具有預設隨機值的引數注入到應用程式模型中。新增的IResourceBuilder引數用於指定使用者名稱和密碼,如果不提供這些引數,將自動注入一個帶有預設隨機值的引數。
- Docker構建引數:透過PublishAsDockerfile()方法接受IEnumerable引數,以在構建時傳遞引數。
- 安全性增強:透過TLS/SSL加密通訊,並使用客戶端證書或API金鑰進行身份驗證。
- 效能改進:透過虛擬化技術最佳化大量資料渲染。
Azure資源改進:
- Azure事件中心:透過AddAzureEventHubs()方法新增Azure事件中心。
- NATS:透過AddNats()方法新增NATS訊息佇列。
- Seq:透過AddSeq()方法新增Seq日誌記錄系統。
新元件:
- Azure SignalR:透過AddAzureSignalR()方法新增Azure SignalR服務。
- Azure AI Search:透過AddAzureSearch()方法新增Azure AI搜尋文件。
- Azure Application Insights:用於.NET Aspire遙測。
資料庫管理工具
- phpMyAdmin:用於管理MySQL資料庫。
- mongo-express:用於管理MongoDB資料庫。
- Redis Commander:用於管理Redis快取。
- PostgreSQL PgAdmin:用於管理PostgreSQL資料庫。
這些新功能和改進主要透過擴充套件方法、DI容器、環境變數、構建引數等方式實現,以提供更靈活、安全、易用的.NET Aspire應用程式,使得開發者可以更輕鬆地整合和管理各種服務和資料庫。更詳細內容參考 .NET Aspire 預覽版 5 - .NET Aspire |Microsoft學習