微软的.NET框架(.NET Framework)是继ActiveX技术之后,于2000年推出的用于构建新一代Internet集成服务平台的最新框架,这种集成服务平台允许各种系统环境下的应用程序通过互连网进行通信和共享数据 。
.NET Framework大致可分为两个部分,分别为通用语言运行环境(Common Language Runtime,CLR)和.NET Framework类库,如图2-2所示 。
|
图2-2 .NET框架结构 |
.NET框架结构底层是通用语言运行环境CLR,其作用是负责执行程序,提供内存管理、线程管理、安全管理、异常处理、通用类系统与生命周期监控等核心服务 。在CLR之上的是.NET Framework类库,提供许多类与接口,包括ADO .NET、XML、IO、网络、调试、安全和多线程等 。
.NET Framework类库是以命名空间(Namespace)方式来组织的,命名空间与类库的关系就像文件系统中的目录与文件的关系一样,如用于处理文件的类属于System.IO命名空间 。
在.NET框架基础上的应用程序主要包括ASP .NET应用程序和Windows Forms应用程序,其中ASP .NET应用程序又包含了Web Forms和Web Services,它们组成了全新的因特网应用程序;而Windows Forms是全新的窗口应用程序 。
.NET Framework利用CLR解决了各种语言的Runtime不可共享问题,具有跨平台特性 。Runtime(执行期)是指计算机编译应用程序的运行时(状态),Runtime包括编程语言所需的函数和对象等,因此不同编程语言的Runtime是不同的,各种语言之间的Runtime不能共享 。.NET Framework以CLR解决了这个共享问题,它以中间语言(Intermediate Language,IL)实现程序转换,IL是介于高级语言和机器语言之间的中间语言,包括对象加载、方法调用、流程控制、逻辑运算等多种基本指令 。在.NET Framework之上,无论采用哪种编程语言编写的程序,都先被编译成IL,IL经过再次编译形成机器码,完成IL到机器码编译任务的是JIT(Just In Time)编译器 。上述处理过程如图2-3所示 。
对于ASP .NET应用程序,使用IL和JIT技术还能够提高执行效率 。当第一次执行ASP .NET程序时,它被先编译为中间语言代码,再由JIT编译器将中间语言代码编译为机器码,并将机器码存放在缓存中 。以后再执行该程序时,只要程序没有变化,系统将直接从缓存中读取机器码,从而大大提升了执行效率 。
|
图2-3 .NET应用程序的编译过程 |
【责任编辑:老杨 Tel:(010)68576606-8005】