[翻譯] 初看 ASP.NET Core 3.0 即將到來的變化


[翻譯] 初看 ASP.NET Core 3.0 即將到來的變化

原文: A first look at changes coming in ASP.NET Core 3.0

在我們努力完成下一個 minor 版本的 ASP.NET Core 的同時,我們也在對下一個 major 版本進行更新,其中包括如何使用框架組合項目、更緊密的 .NET Core 集成以及第三方開源集成,所有這些事的目標都是為了讓您更容易、更快速地開發。有關 .NET Core 3.0 的更多內容,我們建議您查看我們之前關於在 Windows 上添加對 .NET Core 3.0 的 WinForms 和 WPF 支持的公告。我們將在不久的將來發布有關 ASP.NET Core 3.0 中新功能的更多詳細信息。

包 vs 框架

歷史的原因,經過不同的版本和年代,ASP.NET Core 的項目引用和運行方式已經發生了變化。在 1.0 中,ASP.NET Core 本身就只是一個包,像引用其他 Nuget 包一樣的出現在項目。這有利有弊,
隨着時間的推移,我們已經改進了這個模型,試圖平衡模塊化引用與更大且必備框架之間的優劣勢。在 2.1 中,ASP.NET Core 最終發展成為一個 .NET Core “共享框架”(就像 .NET Core 本身的基礎框架 Microsoft.NETCore.App 一樣)。ASP.NET Core 團隊成員 Nate McMaster 撰寫的這篇博客文章很好地解釋了共享框架的工作原理,同時也了指出當前方法的一些問題。我們在 3.0 中引入的更新旨在為所有用戶減少這些問題。

作為本次更新的一部分,將從 ASP.NET Core 3.0 共享框架中刪除一些值得注意的子組件

  • Json.NET (Newtonsoft.Json)
  • Entity Framework Core (Microsoft.EntityFrameworkCore.*)

有關在 .NET Core 中添加 JSON API 的更多詳細信息,請參閱此公告。對於現在仍然依賴於 Json.NET 的地方(例如 MVC 中的 JSON 格式化),我們將繼續提供該集成的軟件包,但默認將改為使用即將推出的內置 JSON API。

Entity Framework Core 將作為 3.0 中的 “純” NuGet 包發布。這使得其發布模式與 .NET 上的其他數據訪問庫相同,用最簡單的方式保持持續更新,提供各種 .NET 平台的支持。注意,Entity Framework Core 移出共享框架對其作為 Microsoft 旗下開發、支持和維護的庫的狀態沒有影響,並且它將繼續被 .NET Core 支持策略所覆蓋。

充分利用 .NET Core

正如本月早些時候在 .NET 博客上所宣布的那樣,由於 .NET Framework 的更新策略以及可能對現有應用程序帶來破壞,.NET Framework 將只會獲得很少的 .NET Core 的新平台新語言特性。為了確保 ASP.NET Core 能夠充分利用 .NET Core 未來的發展改進,ASP.NET Core 將從 3.0 開始僅支持在 .NET Core 上運行。展望未來,您可以簡單地將 ASP.NET Core 視為 .NET Core 的一部分。

今天在 .NET Framework 上使用 ASP.NET Core 的客戶可以繼續使用完全支持的 2.1 LTS 版本。2.1 的支持和服務將持續到2021年8月21日。

有關從 .NET Framework 移植到 .NET Core 的更多信息,請參閱此文檔

通過專注的第三方開源集成提供更多價值

與此同時,我們對 3.0 中“平台”的構成做了更明確的區分,從該層中刪除了第三方組件,我們認識到, 許多更高層次的方案都是由已建立、有能力且支持良好的開源組件提供最佳支持的, 我們可以幫助支持這些組件更好的集成到 ASP.NET Core 應用程序中。

這種支持將采取不同的形式, 包括我們團隊構建的一流集成 API 和包、我們的工程師對現有庫的貢獻、使用這些庫的默認體驗中的項目模板、官方 ASP.NET Core上文檔站點、以及處理關鍵問題和 bug 修復 (包括安全性) 的過程。

我們已經在 2.2 版本中開始了這一過程,為流行的 IdentityServer 庫開發了新的集成,這將幫助我們在構建 ASP.NET Core 應用程序中的 API 授權時非常簡單和實用,同時允許客戶在需要時充分利用 IdentityServer 其功能。

我們還致力於簡化構建 HTTP API 的體驗,新的 API 約定和分析器可以更輕松地使用流行的 Open API庫(如 Swashbuckle 和 NSwag),以及一個新的 API 客戶端生成系統,可以非常簡單與代碼生成器集成,例如 AutoRest 和 NSwag。

如果你對我們新的健康檢查功能感興趣,BeatPulse 庫的作者正在努力移植他們的庫。

我們打算將這些經驗匯集到一個新的項目模板中,以便在 2.2 發布之后提供。

尾聲

請持續關注,我們會繼續發布 ASP.NET Core 在 .NET Core 3.0 中的變化,包括我們在此版本中將要啟用的新功能的簡介。我們會定期在公告中發布變更詳情和其他信息,我們鼓勵您訂閱。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM