.net FrameWork各個版本之間的發展[轉]
上個星期看到了.NET 4.0框架退休日期逐漸臨近文章,發現自己一直在使用NET FrameWork,身為一個NET程序員,裏面大概的區別自己還是知道的,但是自己要說出個所以然來了,發現還是有點力不從心,當時關於這幾個版本之間的有很多,目前很多地方都只是寫到了4.5,關於4.5.1,4.5.2這兩個版本提及的還是非常少的,相對來說,自己寫這篇文章也就沒有回鍋肉的嫌疑,正文開始吧:
DoNet FrameWork
NET Framework由微軟開發的一個致力於敏捷軟件開發(Agile software development)、快速應用開發(Rapid application development)、平臺無關性和網絡透明化的軟件開發平臺。.NET是微軟為下一個十年對服務器和桌面型軟件工程邁出的第一步。.NET包含許多有助於互聯網和內部網應用迅捷開發的技術。
.NET框架是微軟公司繼Windows DNA之後的新開發平臺。.NET框架是以一種采用系統虛擬機運行的編程平臺,以通用語言運行庫(Common Language Runtime)為基礎,支持多種語言(C#、VB、C++、Python等)的開發。
.NET也為應用程序接口(API)提供了新功能和開發工具。這些革新使得程序設計員可以同時進行Windows應用軟件和網絡應用軟件以及組件和服務(web服務)的開發。.NET提供了一個新的反射性的且面向對象程序設計編程接口。.NET設計得足夠通用化從而使許多不同高級語言都得以被匯集。
DoNet FrameWork版本的進化史(CLR 1)
1.0
1.0發布於2002年是NET最早的一個版本,是第一個微軟Visual Studio .NET的發行版的一部分(Visual Studio .NET 2002)。可以以一個獨立且可重新分發的包的形式或在一個軟件發展工具包集中被獲得,不能安裝在用戶操作系統和服務器操作系統上。
CLR:1.0
操作系統(安裝):無
服務器操作系統(安裝):無
1.1
1.1是對1.0框架的升級版本,發行於2003年,比1.0晚了一年,包含在Visual Studio 2003中。 相對於1.0版本的改進: 自帶了對mobile asp .net控件的支持,安全方面使Windows窗體代碼以可靠的行為運行,從而可以在Internet環境內安全運行,並且加入了ASP .NET應用程序的代碼安全訪問功能。自帶了對ODBC和Oracle數據庫的支持。同時新增了.NET Compact Framework技術,用於智能設備(例如Pocket PC或者SmartPhone)。增加了對IPv6的支持,變更了大量的API。
CLR:1.1
操作系統(安裝):無
服務器操作系統(安裝):Window Server 2003
DoNet FrameWork版本的進化史(CLR 2)
2.0
很多人都懷念的一個框架,.NET框架 2.0的組件都包含在 Visual Studio 2005和SQL Server 2005裏面。首次實現了對64位平臺的支持,在的很多程序所用到的功能基本上2.0都提供了技術支持,這個框架被眾多的懷念也不是沒有道理的.
WinForm
做過WinForm開發的應該對這個DataGridView 控件不會陌生,它是2.0為Winform提供的一個表格控件,為了更好的操作數據。窗體中加載網頁提供的WebBrowser控件, 分割窗體提供的SplitContainer 控件,為解決後臺費很長時間的(圖像下載或者數據庫事務 )提供的BackgroundWorker 組件.
ASP.NET
2.0 版本的ASP.NET 已經得到很大的改進,大多數常見 Web 應用程序開箱都可以找到。建立網站和網頁並維持其運行比以前變得更加簡單,而且使用的代碼比以前更少。這樣提高了程序員的開發效率,同時也降低了做Donet的程序員基礎知識相對薄弱一點。母版頁,ViewState,緩存(Cache)新功能加入了ASP.NET體系,控件方面也加入用於顯示和編輯數據的 GridView((GridView 控件取代了以前版本的 ASP.NET 中的 DataGrid 控件))、DetailsView、FormView 控件。
ADO.NET
ADO.NET 中的新功能包括對用戶定義類型 (UDT)、異步數據庫操作、XML 數據類型、大值類型和快照隔離的支持,以及對允許應用程序通過 SQL Server 2005 支持多活動結果集 (MARS) 的新屬性的支持.
2.0支持FTP,增強了I/O讀寫,SMTP支持,提供了新的 XSL 轉換 (XSLT) 處理器,Web服務等功能,有幾個功能需要稍微提一下:
COM Interop 服務增強功能
- 操作系統維護有限數量的句柄,這些句柄用來引用關鍵操作系統資源。新的 SafeHandle 和 CriticalHandle 類及其專用派生類提供了對操作系統句柄進行操作的安全可靠的方式。
- 對封送處理的改進使得與本機代碼交互操作更加容易。對互操作封送拆收器的兩種增強功能滿足了最常見的兩種用戶要求:將本機函數指針包裝到委托中的能力以及在結構內部封送固定大小的結構數組的能力。
- 對於常見調用類型,不同應用程序域中的應用程序之間的調用性能速度更快。
- 類型庫導入程序 (Tlbimp.exe) 和類型庫導出程序 (Tlbexp.exe) 的新開關消除了對註冊表解析類型庫引用的依賴性。此增強對於創建可靠的生成環境非常重要。
調試器顯示屬性
可以控制當調試應用程序時 Visual Studio 顯示類或成員的方式,調試器的顯示屬性功能使您能夠標識要在調試器中顯示的最有用的信息(對於現在來說是很正常不過的一個事情)
調試器編輯並繼續支持
編輯並繼續
NET Framework 2.0 重新引入了“編輯並繼續”功能,該功能使在 Visual Studio 中調試應用程序的用戶能夠在以中斷模式執行的同時更改源代碼。在應用對源代碼所做的編輯之後,用戶可以繼續執行代碼並觀察效果。而且,“編輯並繼續”功能在 Visual Studio 所支持的任何編程語言中都可用。
CLR:2.0
操作系統(安裝):無
服務器操作系統(安裝):Window Server 2003,Window Server 2008 SP2,Window Server 2008 R2 SP1
3.0
.NET框架 3.0 發布日期2006/11/21,曾用名“WinFX”。加入了適應未來軟件發展方向的4個框架:
Windows Presentation Foundation(WPF):提供更佳的用戶體驗,用來開發Windows Forms程序以及流覽器應用程序,主要是用於表現層UI.(跟Winform有點類似,但不一樣)
Windows Communication Foundation(WCF):提供SOA(面向服務的軟件構架)支持的安全的網絡服務(Web Service)框架,主要解決 程序之間的通信問題.
Windows Workflow Foundation(WF):提供一個設計與發展工作流程導向(Workflow-oriented)應用程序基礎支持的應用程序接口,主要是控制程序之間的邏輯轉換。
Windows CardSpace:提供一個SSO的解決方案,每個用戶都有各自的CardSpace。(沒用過,不是很了解)
按照微軟的這個設計思路,WPF用於UI表現,WCF用於程序之間的通信,WF用於程序之間的邏輯控制,這樣程序員什麽都不用愁了,事實是大家基本上最後悔用到其中的一兩個.
.NET框架 3.0 SP1隨.NET框架 3.5同時發行,.NET框架 3.0 SP2隨.NET框架 3.5 SP1同時發行。
CLR:2.0
操作系統(安裝):Vista(內置)
服務器操作系統(安裝):Window Server 2003,Window Server 2008 SP2(內置),Window Server 2008 R2 SP1(內置)
3.5
該版本隨Visual Studio 2008一起發布,現在還具有很強大的生命力,功能相對2.0增加了不少:
ASP.NET
新增了ListView 數據控件和LinqDataSource 控件,ListView 數據控件用於顯示數據,類似於 DataList 和 Repeater 控件。與這兩種控件不同的是,ListView 控件支持編輯、插入和刪除操作,還支持排序和分頁操作。分頁功能是由新的 DataPager 控件為 ListView 提供的。(初學的時候用過,已經很久沒用),LinqDataSource 控件通過 ASP.NET 數據源控件結構公開語言集成查詢 (LINQ).
支持基於服務器的 AJAX 開發的服務器控件。這些控件包括 ScriptManager、UpdatePanel、UpdateProgress 和 Timer 控件。通過這些控件,使用很少客戶端腳本,甚至不使用客戶端腳本,就可以創建豐富的客戶端行為(例如,部分頁呈現和在異步回發過程中顯示更新進度)。
LINQ
語言集成查詢 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 中的新功能。LINQ 將強大的查詢功能擴展到 C# 和 Visual Basic 的語言語法中,並采用標準的、易於學習的查詢模式。可以對此技術進行擴展以支持幾乎任何類型的數據存儲。.NET Framework 3.5 包含 LINQ 提供程序程序集,這些程序集支持使用 LINQ 來查詢 .NET Framework 集合、SQL Server 數據庫、ADO.NET 數據集和 XML 文檔(LINQ to Object、LINQ to ADO .NET以及LINQ to XML表達式目錄樹Expression Tree)。
.NET Framework 3.5 統一了 Windows Workflow Foundation (WF) 和 Windows Communication Foundation (WCF) 框架,以便可以使用 WF 作為一種創作 WCF 服務的方式或將現有 WF 工作流作為服務公開。.NET Framework 3.5 還引入了對 WCF 服務的支持,這些服務使用 WF 持久模型來保存服務的狀態信息。這些持久性服務將其狀態信息保存在應用程序層上,以便在取消然後重新創建會話時,可以從持久存儲區中重新加載該服務的狀態信息。可以創建基於 ASP.NET (.asmx) 和 WCF 的 Web 服務,.NET Framework 3.5 版 還與 IIS 7.0 集成。
同時,.NET框架 3.5自動包含.NET框架 2.0 SP1以及.NET框架 3.0 SP1,用於為這兩個版本提供安全性修復,以及少量新增的類庫(如System.DateTimeOffest)。
CLR:2.0
操作系統(安裝):Vista,Window 7(內置),Window 8(內置),Window 8.1(內置)
服務器操作系統(安裝):Window Server 2003,Window Server 2008 SP2,Window Server 2008 R2 SP1(內置),Window Server 2012,Window Server 2012 R2
DotNet FrameWork版本的進化史(CLR 4)
4.0
ASP.NET
- 核心服務,包括可用來擴展緩存的新 API、支持對會話狀態的數據進行壓縮以及新的應用程序預加載管理器(自動啟動功能)。
- Web 窗體,包括對 ASP.NET 路由的更集中化支持、對 Web 標準的增強支持、更新的瀏覽器支持、數據控件的新功能以及視圖狀態管理的新功能,新增了 Chart 控件。
- MVC,包括視圖的新幫助器方法、對分區的 MVC 應用程序的支持以及異步控制器。
- Microsoft Ajax,包括對 Microsoft Ajax 庫中的基於客戶端的 Ajax 應用程序的附加支持。
- Visual Web Developer,包括改進的 JScript IntelliSense、針對 HTML 和 ASP.NET 標記的新的自動完成代碼段和增強的 CSS 兼容性。
WPF
- 新增 Calendar、DataGrid 和 DatePicker控件,VisualStateManager 支持更改控件的狀態。。
- 利用觸控和操作,可以創建在 Windows 7 上同時接收來自多個觸控的輸入的應用程序;圖形和動畫支持布局舍入、像素著色器版本 3.0、緩存合成和緩動函數;
- 文本改進了文本呈現,並支持在文本框中自定義插入符號的顏色和選定內容的顏色;InputBinding 的 Command 屬性、動態對象和 Text 屬性支持綁定。
- XAML 瀏覽器應用程序 (XBAP) 支持與網頁通信,並且支持完全信任部署。
WCF
- 基於配置的激活:取消了對具有 .svc 文件的要求。
- System.Web.Routing 集成:通過允許使用無擴展 URL,更好地控制服務的 URL。
- 多個 IIS 網站綁定支持:允許在同一網站上具有多個使用相同協議的基址。
- 路由服務:允許基於內容路由消息。
- 工作流服務:通過提供用於發送和接收消息的活動、基於內容關聯消息的功能以及工作流服務主機來集成 WCF 和 WF。
WCF REST
- Web HTTP 緩存:允許緩存 Web HTTP 服務響應。
- Web HTTP 格式支持:允許動態確定服務操作做出響應的最佳格式。
- Web HTTP 服務幫助頁:提供 Web HTTP 服務的自動幫助頁,此頁與 WCF 服務幫助頁類似。
- Web HTTP 錯誤處理:允許 Web HTTP 服務以與操作相同的格式返回錯誤信息。
- Web HTTP 跨域 JavaScript 支持:允許使用 JSON Padding (JSONP)。
WF
- 改進的工作流活動模型:Activity 類提供工作流行為的基本抽象。
- 各種復合活動選項:工作流可從以傳統的流控制結構為模型的新建流控制活動(如 Flowchart、TryCatch 和 Switch<T>)受益。
- 顯式活動數據模型:用於存儲或移動數據的新增選項包括變量和方向參數。
- 增強的宿主、持久性和跟蹤選項:宿主增強包括更多的運行工作流選項,使用 Persist 活動的顯式保持,保持而不進行卸載,使用非持久區域阻止保持,使用宿主中的環境事務,將跟蹤信息記錄到事件日誌,以及使用 Bookmark 對象繼續掛起的工作流。
ADO.NET
ADO.NET 提供了一些用於 Entity Framework 的新功能,其中包括持久性未知對象、LINQ 查詢中的函數以及自定義對象層代碼生成。
CLR:4
操作系統(安裝):Vista,Window 7
服務器操作系統(安裝):Window Server 2003,Window Server 2008 SP2,Window Server 2008 R2 SP1
4.5
框架每次升級的時候基本上就是為前面的設計的失誤或者根據開發人員實際開發中常用的東西封裝,不過4.5最大的亮點就是支持移動開發,開發Window Phone應用,為有的人帶來了機遇,更多的人則被掉裏面去在慢慢的往外爬,其他功能也進行了變更,具體的新增功能可參考:http://msdn.microsoft.com/zh-cn/library/ms171868(v=vs.110).aspx
CLR:4
操作系統(安裝):Vista,Window 7,Window 8(內置)
服務器操作系統(安裝):Window Server 2008 SP2,Window Server 2008 R2 SP1,Window Server 2012
4.5.1
EF 和 ADO.NET 現在對連接失敗的情況容錯性更好,比如以前連接服務器的時候,服務器突然掛了,直接拋異常,新框架中一旦網絡連接得以恢復,應用程序就會監測到它,並繼續之前的工作。
ASP.NET 應用現在可以自動掛起了。實際運行的 ASP.NET 工作進程(worker process)將被掛起為可隨時喚醒的狀態,這能夠節省 90% 的啟動時間。當應用程序處於空閑狀態一段時間後,它將會被分頁到磁盤,一旦某個請求到來或是完成,它將被喚醒。可以在 IIS 配置中將 Time-out Action 這一項設置為“掛起”以實現這一功能。
CLR:4
操作系統(安裝):Vista,Window 7,Window 8,Window 8.1(內置)
服務器操作系統(安裝):Window Server 2008 SP2,Window Server 2008 R2 SP1,Window Server 2012 ,Window Server 2012 R2(內置)
詳情可參考:http://blogs.msdn.com/b/dotnet/archive/2013/06/26/announcing-the-net-framework-4-5-1-preview.aspx
4.5.2
ASP.NET 網絡應用提供了新的API。新HttpResponse,AddOnSendingHeaders和HttpResponseBase。AddOnSendingHeaders方法檢查和修改響應頭和狀態碼響應客戶端程序的清酒,用來代替方法PreSendRequestHeaders和PreSendRequestContent方法。
調整在Windows窗體控件。可以使用系統DPI設置調整組件以下額外的控件(例如,在組合框的下拉箭頭):
可選特性,在配置文件中設置EnableWindowsFormsHighDpiAutoResizing:
1 <appSettings>2 <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />3 </appSettings>
CLR:4
操作系統(安裝):Vista,Window 7,Window 8,Window 8.1
服務器操作系統(安裝):Window Server 2008 SP2,Window Server 2008 R2 SP1,Window Server 2012 ,Window Server 2012 R2
最後用一張圖來總結一下吧(網絡圖片):
基本上Donet FrameWork每個版本都可以寫成一大篇文章,本文難免有理解不到位,或者理解錯誤的地方,如果不當,請各位多多包涵,理性指出~
作者:Fly_Elephant
出處:http://www.cnblogs.com/xiaofeixiang/p/3936217.html
.net FrameWork各個版本之間的發展[轉]