.Net-Framework-框架工作原理_第1页
.Net-Framework-框架工作原理_第2页
.Net-Framework-框架工作原理_第3页
.Net-Framework-框架工作原理_第4页
.Net-Framework-框架工作原理_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.Net Framework 框架工作原理从.Net Framework 1.0.Net Framework ,版本在不断升级,那么,这些版本升级了什么.Net Framework.Net Framework 4.0,其框架结构没什么大的变化,都是CLR在 OS上面,基类库在CLR上面,再之上是ADO.NET,XML等,再之上是 ,window ,最上层就是我们经常用到的各种.Net开发工具了框架图如下:Microsoft .NET Framework由应用程序开发技术、Microsoft .NET Framework 类库、基类库和公共语言运行库(CLR)4个部分组成。这 4个部分如图所示,

2、每个较高的层都使用一个或多个较低的层。应用程序开发技术位于框架的最上方,是应用程序开发人员开发的主要对象。它包括 ASP .NET技术和WinFroms 技术等高级编程技术。Microsoft .NET Framework 类库是一个综合性的类型集合,用于应用程序开发的一些支持性的通用功能。开发人员可以使用它开发多种模式的应用程序,可以是命令行形式,也可以图形界面形式的应用。Microsoft .NET Framework (ADO .NET等)XML(LDAP等)、正则表达式和消息支持。3基类库基类库提供了支持底层操作的一系列通用功能。Microsoft .NET 框架主要覆盖了集合操作、线

3、程支持、代码生成、输入输出(IO)、映射和安全等领域的内容。公共语言运行库是 Microsoft .NET Framework 的基础内容,也是Microsoft .NET程序的运行环境,用于执行和管理任何一种针对 Microsoft .NET平台的所有代码。CLR可以为应用程序提供很多核心服务,如内存管理、线程管理和远程处理等,并且还强制实施代码的安全性和可靠性管理。下面简要介绍 Microsoft .NET C# 程序后台(1) 多语言支持。在 Microsoft .NET 平台上,所有的语言都是等价的,它们都是基于公共语言运行库(CLR)的运行环境进行编译运行。所有Microsoft .

4、NET 支持的语言,不管是Visual Basic .NET VisualC+C# 还是 Jscript ,都是平等的。用这种语言编写的代码都被编译成一种中间代码,在公共语言运行库中运行。在技术上这种语言与其他语言相比没有很大的区别,用户可以根据自己熟悉的编程语言进行操作。在本书中使用 C# 进行编程,因为C# 是一种优秀的程序开发语言,它简洁、高效且便于使用。主要用于 Microsoft .NET框架中面向组件的领域。(2) Microsoft .NET框架的另一个重要特点就是多平台支持。不过相对于 Java 技术能够跨越 Linux 和Windows Microsoft .NET 的跨平台

5、性仅限于各种 Windows 操作系统,如Windows 95/98Windows NTWindows 2000 和 Windows XP 等。(3) 性能。Microsoft .NET的基本设计目标之一就是具有强大的性能和可伸缩性。对于Microsoft .NET 来说,要具备很好的性能要靠公共语言运行库来执行中间代码。为了确保最佳性能,在某也可以在应用程序首次安装时完成。有了公共语言运行库,就可以很容易地设计出对象能够跨语言交互的组件和应用程序。也就是说,用不同语言编写的对象可以互相通信,并且它们的行为可以紧密集成。例如,可以定义一个类,然后使用不同的语言从原始类派生出另一个类或调用原始类

6、的方法。还可以将一个类的实例传递到用不同的语言编写的另一个类的方法。这种跨语言集成之所以成为可能,是因为基于公共语言运行库的语言编译器和工具使用由公共语言运行库定义的通用类型系统,而且它们遵循公共语言运行库关于定义新类型以及创建、使用、保持和绑定到类型的规则。图 1.32列出了各种程序与 CLR之间的关系。我们平时用 csc.exe 编译器编译后的程序都是 MSIL形式的,包括 window form和 中的.exe和.dll CLR环境下由 CLR环境的 JIT后本地代码在 CLR托管环境下CLR负责内存管理,垃圾回收等工作,同时负责与OS通信,包括OS上的其他非托管软件何为托管代码和非托管

7、代码?托管代码是在.NET MSIL CLR的 JIT即时编译后在 CLR托管下运行,故这些代码称为托管代码而没在.NET的基础上开发出来的代码,如 C/C+/vb开发出来的 COM组件或者 API,它们一旦编译后就编译成基于 OS的本地代码,它们直接与 OS通信,中间没有经过 CLR这个中间者,而且内存等管理是手动管理的,此类代码称之为非托管代码前面讲的是.Net Framework各版本之间相同之处,即主要框架结构模型是相同的,那么,他们之间的最主要的区别是什么呢?先看看.Net Framework3.0的框架图:可以看到,3.0还是用的 2.0的基类库和CLR,只不过在 2.0的原有 2

8、.0,window forms2.0技术的基础上增加了WCF,WPF,WWF 等新技术,其底层还是和2.0一样,故如果3.0开发编译后的东西没有用到新的基类库的话,一样可以在 2.0上运行这里需要再说明下 CLR的 JIT是如何加载编译程序集的JIT并非所有 using引用的程序集都加载编译的,它只加载编译要用到的程序集,故把一个类作为一个类文件编译成一个组件或者说是程序集,比并把几个类写成一个文件编译成一个程序集,可以减少很多的加载编译量,所以最好一个功能,一个类单独写成一个程序集.Net 3.5在 3.0的基础上对之前功能的增强外,还新增加了几个新技术.NET 3.5并未对.NET 2.0

9、现存的技术进行任何改动,包括 ASP.NET、ADO.NET和WinForm 在内的主要技术都保持原样,这对熟练掌握.NET 2.0的技术人员是个好消息,他们所掌握的技术仍然很有价值。根据微软.NET平台发展趋势来看,.NET 2.0平台将为.NET 3.5提供基础类库,.NET 3.5将着重引入语法,数据访问和 Web客户端上的一些创新。可以把.NET 3.5看做是.NET 2.0的超集,是对.NET 2.0的一次补充。如果开发者是从.NET 1.0或 1.1迁移到 3.5,那么需要考虑代码的兼容性问题,尽管.NET框架已经.NET 2.0到3.5.NET Framework 3.5 的所有

10、组件都可在支持 .NET Framework 3.5 的平台上运行。.NET 3.5还增加了 LINQ ASP.NET的 OR/MASP.NET Entity )等新功能。这些新功能增强了 VB和 C#等语言的作用,为.NET环境提供了 OR/M框架,它们都可以和WPF/WCF和WF共同工作,创建强大的应用程序。.net framework 2.0 = CLR 2.0 + FCL(framework class library)这三个版本 framework的 CLR都是 的runtime还是只有1.1和 2.0,像Linq这些新功能其实只是用新的编译器加上一些新的类库来实现的,3.5版本并没

11、有对 CLR做大的升级。VS2008支持在2.03.0和 3.5三种版本下开发项目,VS2005的项目可以平稳的升到 VS2008上,在 VS2008下做 VS2005 VS2005Framework 3 SP1除了修正了一些Framework 2的 bug之外,主要的扩展是加了3W框架,分别是WPFWCFWWFF3.5和 F3 BugLINQWFWCFAdd-in(今后会被 MEF替代)Framework 3.5 Dynamic Entity Framework,Data Services Framework 3 LinqLambda,扩展函数,var类型的使用等等。.NET Framewo

12、rk 4与 Framework 3.5 SP1 Framework中可以运行的应用程序,将继续能够运行在.NET Framework 4上。在 Visual Basic和 C 语言中有所创新,例如声明lambdas 、隐线continuations 、动态调度、并命名/可选参数等。在 ADO.NET的程序。这些新功能包括:持续忽略、POCO支持、延迟加载,测试驱动开发的支持、功能模型以及新的LINQ运营商等。一、以下是 ASP.NET中的改进:在WPF 中增加Windows 7ribbon控制、任务栏扩展功能支持;在WPF 中增加 Surface 2.0 SDK支持;新的业务线控制,包括图表控

13、制,智能编辑,数据网格,以及其他能够提高“建立数据中心的应用程序”的开发者经验的控制。在文字、像素布局、本地化和互操作性中添加可视化改进;Windows WorkflowWF)中的改进让开发者能够更好地控制工作流程,具体改进如下:四、.NET框架还为基于WF 的工作流程提供重大的性能改进:改进Windows 通讯基础( WCF )构架,例如流服务相关支持,双向通信的持久性等。.NET框架 4还提供了新的WCF 功能,例如服务发现、路由器服务、简化配置、REST支持、诊断和性.visual studio 2005 是 IDE, 就是集成开发环境,只是一个工具,你可以理解为一个功能强大的编辑器(记

14、事本?).net framework2.0 是运行环境, .net framework2.0 sdk是开发环境,没有前者,你就不能运行.net 程序,没有后者,你就不能做.net 开发。通常 vs 会自带.net framework sdk, 但做.net 开发一定要明白什么是什么。其实即使没有 vs2005 之类的ide,在纯命令行下都可以用.net sdk 做开发的。我是做 java 的,没装,但是概念肯定是这样。这就好比 eclipse 和 jre 和 jdk 的关系。.NET Framework.NET Framework SDK的区别,以及使用上的不同1、.NET Framework

15、与.NET Framework SDK有区别2、什么是.NET Framework.NET Framework 是微软开发的运行于各个操作系统之上的.NET 软件运行平台,相对独立于微软的各个操作系统之上 。只要安装了 .NET Framework,则从 Windows 98 到Windows XP 都可以运行.NET 程序。3、是否要安装.NET Framework同时对于基于.NET Framework 开发的程序,必须运行在.NETFramework的平台上。目前至少有超过的自己开发的应用程序是基于.NET Framework装 Microsoft 的各种操作系统之后,安装.NET 。4

16、、.NET Framework的功能.NET Framework.NET 程序运行时支持和功能强大的类库。可以从微软网站免费下载。5、.NET Framework版本目前包括的版本包括 .NET Framework V1.1 版、目前包括的版本包括.NET Framework V2.0版、目前包括的版本包括.NET Framework V3.5.NET Framework V4版。其中1.1版和 2.0 版之间有本质差别,可能出现不兼容情况。一般使用 V2.0以上版本就够了。.NET Framework与.NET Framework SDK的区别,以及使用上的不同1、.NET Framework与.NET Framework SDK的区别.NET .NET 应用程序,而不能开发.NET 应用程序。2、什么是.NET Framework SDK.NET Framework SDK 包括了微软提供的.NET 语言编译器(如C#编译器 CSC.exe和 VB.NET 编译器VBC.exe.NET Framewo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论