.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各个版本之间的发展[转]的更多相关文章
- .net Framework各个版本之间的发展
原文:.net Framework各个版本之间的发展 上个星期看到了.NET 4.0框架退休日期逐渐临近文章,发现自己一直在使用NET FrameWork,身为一个NET程序员,里面大概的区别自己还 ...
- .NET Framework各版本汇总以及之间的关系
目录(?)[-] 原文链接:http://blog.csdn.net/kingmax54212008/article/details/25886345 NET Framework 版本关系 获取NET ...
- Django Rest framework 之 版本
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...
- .NET Framework各版本比较
(1)本文比较了.NET Framework多个版本之间的区别,方便各位选择和切换.NET Framework. 版本号 发布日期 Visual Studio的版本 Windows上的默认情况 CLR ...
- CLR/.NET/C#/Visual Studio/ASP.NET各版本之间的关系(转)
由于这篇文章记录的是2015年7月,那时.net core还是叫做.net core 5 名词定义 下列这些名词,写.NET 的人一定都不陌生,但你是否有真正理解呢?如果看了我的摘要文字说明还无法理解 ...
- .net版本之间的关系
net framework 2.0,3.0与3.5三个版本之间关系如下: .net framework 2.0 = CLR 2.0 + FCL(framework class library) .ne ...
- Linux 各个版本之间的差别
一直没有搞清楚RHEL,CentOS,,还有Ubuntu,fedora这些版本之间的差别,搜了一下,整理到这里,备忘吧. 我最关心的: 1, CentOS是在RHEL基础上的免费版: 2, Ubunt ...
- Ubuntu桌面版本和服务器版本之间的区别(转载)
转载自:http://blog.csdn.net/fangaoxin/article/details/6335992 http://www.linuxidc.com/Linux/2010-11/297 ...
- Mcafee两个Mac版本之间的区别
近期打算为Mac安装个杀毒软件,由于自己windows平台下用的是VSE,所以Mac平台也首选Mcafee家的东西了.到Mcafee官网下载点一看,有以下几个版本可以用在Mac上: 有点懵了,查看了一 ...
随机推荐
- PHP采集库-Snoopy.class.php
Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单. Snoopy的特点: 1.抓取网页的内容 fetch 2.抓取网页的文本内容 (去除HTML标签) fetchtext ...
- (部署)使用kubernetes的deployment进行RollingUpdate
rolling update,可以使得服务近乎无缝地平滑升级,即在不停止对外服务的前提下完成应用的更新. replication controller与deployment的区别 replicatio ...
- Spring Cloud构建微服务架构(四)分布式配置中心(续)
先来回顾一下,在前文中我们完成了什么: 构建了config-server,连接到Git仓库 在Git上创建了一个config-repo目录,用来存储配置信息 构建了config-client,来获取G ...
- 用VIM打造C语言编写器
1.先用vim --version命令查看一下都是安装了那些vim特性,以及版本等等情况. vim --version VIM - Vi IMproved 7.4 (2013 Aug 10, comp ...
- 【Android】将Xamarin For VS升级为4.0.1.145版
分类:C#.Android.VS2015 创建日期:2016-03-18 一.卸载原来安装的Xamarin for VS 4.0.0.1717版 下面是Xamarin for VS发布的版本简介: - ...
- java playframework
刚学了java不久就让我们尝试架构,就选择了一个比較简单的架构 play framework直接上图 这里的执行环境是JDK1.7,我试了一下jdk1.8不行出问题了play使用的是play-1.2. ...
- %02x和%2x区别
%02x (x代表以十六进制形式输出,02代表不足两位,前面补0输出,如果超过两位,则以实际输出) 例: #include <stdio.h> #include <stdint.h ...
- 【Util】之——cookie
拿走即用 使用前引入文件:http://files.cnblogs.com/ccto/util-cookie.js 使用方法: //设置cookie CookieUtil.set("name ...
- nyoj123 士兵杀敌(四)树状数组 插线问点
士兵杀敌(四) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编 ...
- linux tail -f 和 tail -F的区别 && tail 的断点续传
bash-1中启动如下进程while [ "true" ] ; do date >> test.log; sleep 1 ; done; bash-2中,tail -f ...