效能
對.NET Framework 4.5來說,在效能改進上下了很多功夫,無論是在改進現有代碼效能方面,還是在編寫代碼方面都更快速,更靈活,可擴充性更強,
公用語言運行庫(CLR)Team Dev十分關注改善運行庫環境本身的效能。有了像背景伺服器垃圾收集器,多核背景JIT編譯和最佳化配置的導論後,託管應用程式(尤其是伺服器上的)現在可以更快速啟動,擁有更高效能,運行更流暢,延遲也減少了。
效能改進超越了運行庫執行環境,例如Framework內的核心組件被內部重寫,以在主要情境中提供改進的效能。比如.NET中的Stream類存在於大多數I/O相關操作的中心位置,用Stream來非同步讀寫是很常見的,而現在這些操作在.NET 4.5中就少了許多。另一個執行個體就是,WPF中的項目集合控制項在處理某類資料時也更快了。
在這個發布中,這項Stream工作就是我們非常關注非同步一部分。C#和Visual Basic在編寫非同步代碼時,擴充了對一流語言的支援。這個支援並不局限於語言,並加入了.NET Framework的庫。全新的基於任務的API也被添加進Framework,包括貫穿於網路和網頁服務堆中的BCL類型,同時也添加到了System.Xml和System.Data庫中,以及更多。
網路
如今很少能看到獨立應用程式,就是那種不用某種方式進行交流的應用程式。.NET一直以來有著豐富的高質網路編程庫,無論是對低級的基於通訊端的編程還是進階的通過網路服務進行的通訊都很有用。.NET 4.5對開發越來越多的互相關連的應用程式提供根本的支援。雖然在.NET 4.5中有很多有趣的與網路相關的改進,在這裡特別介紹三個最具代表性的。
WebSocket是一個全新的雙向通訊協定,它支援用戶端與伺服器間低延遲通訊。這對執行互動應用程式來說很棒,比如線上遊戲,它會受益於伺服器和用戶端的“推動”,而且.NET 4.5還包括在ASP.NET和在WCF中對WebSockets的支援。.NET 這次的發布還出現了全新的HttpClient類,它能讓用戶端和伺服器更簡單有效地使用現有網路API。
任務和WCF的整合。有了先前提及的語言支援,跨越Framework的非同步API通過任務就公開了。除了這些.NET中包含的API,還有通過Visual Studio產生的API。由Add Service Reference…對話方塊建立的WCF網路服務終端是這類API的一個重要部分。在先前的發布中,這個工具預設只在同步操作時產生,你可以使用進階配置對話方塊來選擇公開非同步作業。現在,在Visual Studio 11開發人員預覽版本中,預設情況下工具不僅僅產生非同步作業,它還會使用基於任務的非同步模式。
這就意味著所有你加入服務參考的網路服務會即時支援在等待非同步方法呼叫。以下是使用其中一個產生的代理來做非同步呼叫,來搜尋Bing的例子:
互通性
Framework本身只包含你的應用程式所使用的庫集之一,如果沒有這個概念,那麼來看.NET Framework的改進就是不完整的。除了你所依賴的.NET Framework中的所有庫,你還可以使用自己建立的,或者第三方建立的庫。一直以來,很多在你的應用程式中使用的庫只是在Windows公開的作業系統功能頂部的一層簡單封裝,例如訪問檔案系統,訪問音頻和視頻硬體等等。自從.NET第一次的發布以來,CLR就提供了互操作的功能,但只是實驗性階段。
有了.NET 4.5和Windows Runtime(WinRT)的到來,需要建立這樣的互操作封裝就成了曆史。通過CLR的改進,你的.NET應用程式可以為那些組件引用metadata檔案,CLR會照管需要的互操作詳情,讓你能像使用.NET庫中的組件一樣使用它們。這對開發人員來說是個天大的喜訊。
BCL,託管擴充型Framework(MEF),System.Xml, System.Net,WPF,ADO.NET,ASP.NET, WCF,Windows Workflow Foundation,並行計算等等。都值得深入研究!
趕緊下載VS11體驗吧
http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200098144