.NET 4.5.1比看上去更豐富

jopen 11年前發布 | 5K 次閱讀 .NET

  本周的 Build 大會上宣布了 .NET 4.5.1 的推出。看上去這次更新好像只是一次 bug fix,或者頂多包括一些很小的更新。不過 Habib Heydarian 在演講中消除了這種錯誤的觀念。Heydarian 的這個演講題為“.NET 開發中的新內容”,涵蓋了 .NET Framework 中一些重要的新特性。

  Heydarian 的演講主要圍繞著三個方面展開:開發者生產力、應用程序的性能及持續創新。首先是開發者生產力,Heydarian 宣布了某個很常用 .NET 特性的后續進展,那就是“修改并繼續執行”。他在提到了 32 位機器上的該功能在 2005 年就已發布,隨后高興地宣布 64 位機器上的相同功能將成為 .NET 4.5.1 的一部分。這一功能和 32 位版本是完全相同的。

  隨后,Heydarian 宣布了檢測方法返回值的新功能,它可以在 Visual Studio 的 Autos 窗口或 Immediate 窗口中使用。可以在調試器中展開返回值以便查看當前的值。對于 Windows Store、Web App 和 Windows 8.1 桌面 App 而言,由于對 Call Stack(調用棧)和 Tasks 窗口的使用性進行了改進,使得調試異步代碼更加容易了。

  這還不是 Windows Store App 的唯一改進,另一項改進是開發者可以將 System.IO.Stream 轉換為 IRandomAccessStream 了。另外,通過引入可空值類型,WinRT 的類型系統也得到了增強,并且對異常提供了更好的支持(例如:System.Exception.Message,System.Exception.StackTrace)。這些 System.Exception 的新屬性是在基于 Windows 8 的經驗上進行的改進,在這之前只有在附加的進程上的調試器中才能避免丟失這些信息。

  EF 和 ADO.NET 現在對連接失敗的情況容錯性更好了。在之前,斷開網絡連接會導致一個異常的產生,而在 4.5.1 中則能夠優雅地應對這種失敗情況,一旦網絡連接得以恢復,應用程序就會監測到它,并繼續之前的工作。

  ASP.NET 應用現在可以自動掛起了。實際運行的 ASP.NET 工作進程(worker process)將被掛起為可隨時喚醒的狀態,這能夠節省 90% 的啟動時間。當應用程序處于空閑狀態一段時間后,它將會被分頁到磁盤,一旦某個請求到來或是完成,它將被喚醒。可以在 IIS 配置中將 Time-out Action 這一項設置為“掛起”以實現這一功能。

  在 .NET 4.5.1 的底層,你現在可以壓縮大對象堆(LOH)以應對堆碎片問題。LOH 模式是 GCSettings 的一部分,但 Heydarian 提醒大家:“能力越大,責任越大”,在一般的開發過程中絕不要使用這項功能。

  多核的即時編譯(JIT)性能也有所改進,按 Heydarian 的說法,在冷啟動的狀態下能達到 15% 的性能提升。

  另一項在 .NET 4.5.1 中得到改進的部分是有關 framework 升級后系統的表現。目前,運行更新后的 .NET Framework 會使應用程序性能在短時間有一定程度的下降。這是因為核心的 .NET 程序集在更新或補丁需要一段時間進行 JIT 編譯。在 Windows 8.1 中,即使運行(更新后的).NET Framework,應用的性能也能保持穩定。這使用戶體驗大為提高,也符合微軟的努力方向,即盡可能提升平板電腦的續航能力。

  Heydarian 宣稱他的團隊的一個目標是盡可能做完所有的臟活累活,而讓 .NET 開發者能直接從中受益。另外,他希望只要可能,.NET 平臺的所有改進都能使開發者直接受益,而把重新編譯的時間(如果需要的話)減至最小,為了達到更好的性能。

  最后要說的是,微軟創建了一個新的 NuGet feed,為官方的微軟 .NET 包(package)提供穩定而實時的更新,可以應用于 Visual Studio 2010、2012 及 2013。這個 feed 在 VS2013 中直接支持,而 VS2010 和 2012 的用戶可以手動添加這個 URL 以獲取 feed:https://nuget.org/api/v2/curated-feeds/dotnetframework/

  關于 .NET 4.5.1 預覽版的更多細節,請參考 .NET 團隊的正式聲明

來自: InfoQ
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!