.net Framework各个版本之间的发展

原文: .net Framework各个版本之间的发展

上个星期看到了.NET 4.0框架退休日期逐渐临近文章,发现本身一直在使用NET  FrameWork,身为一个NET程序员,里面大概的区别本身仍是知道的,可是本身要说出个因此然来了,发现仍是有点力不从心,当时关于这几个版本之间的有不少,目前不少地方都只是写到了4.5,关于4.5.1,4.5.2这两个版本说起的仍是很是少的,相对来讲,本身写这篇文章也就没有回锅肉的嫌疑,正文开始吧:html

DotNet  Framework

.NET Framework由微软开发的一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。.NET包含许多有助于互联网和内部网应用迅捷开发的技术。程序员

.NET框架是微软公司继Windows DNA以后的新开发平台。.NET框架是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言(C#、VB、C++、Python等)的开发。web

.NET也为应用程序接口(API)提供了新功能和开发工具。这些革新使得程序设计员能够同时进行Windows应用软件和网络应用软件以及组件和服务(web服务)的开发。.NET提供了一个新的反射性的且面向对象程序设计编程接口。.NET设计得足够通用化从而使许多不一样高级语言都得以被聚集。数据库

DotNet  Framework版本的进化史(CLR 1)

     1.0      

1.0发布于2002年是NET最先的一个版本,是第一个微软Visual Studio .NET的发行版的一部分(Visual Studio .NET 2002)。能够以一个独立且可从新分发的包的形式或在一个软件发展工具包集中被得到,不能安装在用户操做系统和服务器操做系统上。编程

CLR:1.0api

操做系统(安装):无跨域

服务器操做系统(安装):无数组

     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

DotNet  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 

  1. 核心服务,包括可用来扩展缓存的新 API、支持对会话状态的数据进行压缩以及新的应用程序预加载管理器(自动启动功能)。
  2. Web 窗体,包括对 ASP.NET 路由的更集中化支持、对 Web 标准的加强支持、更新的浏览器支持、数据控件的新功能以及视图状态管理的新功能,新增了 Chart 控件。
  3. MVC,包括视图的新帮助器方法、对分区的 MVC 应用程序的支持以及异步控制器。
  4. Microsoft Ajax,包括对 Microsoft Ajax 库中的基于客户端的 Ajax 应用程序的附加支持。
  5. Visual Web Developer,包括改进的 JScript IntelliSense、针对 HTML 和 ASP.NET 标记的新的自动完成代码段和加强的 CSS 兼容性。

      WPF

  1. 新增 Calendar、DataGrid 和 DatePicker控件,VisualStateManager 支持更改控件的状态。。
  2. 利用触控和操做,能够建立在 Windows 7 上同时接收来自多个触控的输入的应用程序;图形和动画支持布局舍入、像素着色器版本 3.0、缓存合成和缓动函数;
  3. 文本改进了文本呈现,并支持在文本框中自定义插入符号的颜色和选定内容的颜色;InputBinding 的 Command 属性、动态对象和 Text 属性支持绑定。
  4. XAML 浏览器应用程序 (XBAP) 支持与网页通讯,而且支持彻底信任部署。

     WCF

  1. 基于配置的激活:取消了对具备 .svc 文件的要求。
  2. System.Web.Routing 集成:经过容许使用无扩展 URL,更好地控制服务的 URL。
  3. 多个 IIS 网站绑定支持:容许在同一网站上具备多个使用相同协议的基址。
  4. 路由服务:容许基于内容路由消息。
  5. 工做流服务:经过提供用于发送和接收消息的活动、基于内容关联消息的功能以及工做流服务主机来集成 WCF 和 WF。

     WCF REST 

  1. Web HTTP 缓存:容许缓存 Web HTTP 服务响应。
  2. Web HTTP 格式支持:容许动态肯定服务操做作出响应的最佳格式。
  3. Web HTTP 服务帮助页:提供 Web HTTP 服务的自动帮助页,此页与 WCF 服务帮助页相似。
  4. Web HTTP 错误处理:容许 Web HTTP 服务以与操做相同的格式返回错误信息。
  5. Web HTTP 跨域 JavaScript 支持:容许使用 JSON Padding (JSONP)。

       WF

  1. 改进的工做流活动模型:Activity 类提供工做流行为的基本抽象。
  2. 各类复合活动选项:工做流可从以传统的流控制结构为模型的新建流控制活动(如 Flowchart、TryCatch 和 Switch<T>)受益。
  3. 显式活动数据模型:用于存储或移动数据的新增选项包括变量和方向参数。
  4. 加强的宿主、持久性和跟踪选项:宿主加强包括更多的运行工做流选项,使用 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

最后用一张图来总结一下吧(网络图片):

The .NET Framework Stack

基本上Dotnet  FrameWork每一个版本均可以写成一大篇文章,本文不免有理解不到位,或者理解错误的地方,若是不当,请各位多多包涵,理性指出~

http://msdn.microsoft.com/en-us/library/bb822049(v=vs.110).aspx

相关文章
相关标签/搜索