预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共22页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于.NET的课程管理系统的设计与开发 2.1.2&nbsp;公共语言运行库(CommonLanguageRuntime,CLR)<BR>从Microsoft.NET开发框架的整体架构中可以看到,公共语言运行库(CLR)位于Microsoft.NET架构的底层,作为.NET框架的执行引擎,它是多种语言的统一运行环境,基于CLR开发的代码称为托管代码(ManagedCode)。CLR实际上是驻留在内存里的一段代理代码,负责.NET应用程序在整个执行期间的代码管理工作,并为其提供服务。CLR为这些语言提供自动内存管理和资源管理、异常处理、安全性、版本控制、组件通信等系统服务。<BR>托管代码的运行步骤大体分为三步:<BR>1.使用CLR支持的编程语言编写源代码。<BR>2.由CLR的编译器将源代码编译为独立于机器的微软中间语言(MicrosoftIntermediateLanguage,MSIL),同时产生运行所需要的元数据(metadata)。<BR>3.代码运行时,由CLR的即时编译器(JustInTimeCompile,JITC)将中间语言生成机器代码,最后执行这些编译过的机器代码。<BR>汇编是资源、托管代码、以及元数据封装成的一个个单元。一个汇编可以专属于某个应用程序,也可以为多个应用程序共享。<BR>元数据(metadata)被称为“数据的数据”,包含着数据及其运行时所需的资源,它以汇编清单的形式存在,主要有三个部分组成:<BR>1.对部署单元组装的描述(名字、版本、语言、输出类型等)<BR>2.对类的描述(基类、接口、成员等)<BR>3.由编译器、框架或由用户定义的其他属性。<BR>在Java中,有一个核心概念:虚拟机(JVM,JavaVirtualMachine),JVM是仅含有指令集的一个通用的虚拟机器,它能够将中高级语言的程序编译为虚拟机的机器语言程序,再通过虚拟机的即时编译器(JIT,JustInTimeCompile),将这些机器码转换成可在本地执行的实体机器的机器码。MSIL就相当于虚拟机的机器码,它是一种于机器平台、操作系统都无关的虚拟机的语言。利用MSIL,可以实现跨语言的合作。<BR>同时,由于MSIL在沿用Windows平台使用的PE(PortableExecutable)的基础上对PE作了扩充,把程序的Metadata一并写入可执行文件中,使MSIL程序具有了自我解释能力,从而避免了DLL的版本和更新问题(常称为DLLHell),大大简化了应用程序的发布和升级。CLR的核心是一个执行引擎,它加载、执行和曾理已经编译为MSIL格式的代码,这种代码不被解释,在执行之前通过内置在CLR中的JIT将它编译成本机的二进制代码。VS.NET充分发挥CLR的潜力,为开发者提供了一个统一的集成开发环境和调试器。<BR>2.1.3&nbsp;基础类库(BaseClassLibrary,BCL)<BR>在.NETFramework中,BCL位于CLR之上。BCL是一套操作系统层级的对象函数库,其中包含了托管代码运行所需的各种具有庞大功能集的软件组件,可供程序语言调用使用。它为.NET应用程序提供了一个统一的、面向对象的、层次化、可扩展的编程接口,为数据输入输出、安全性等提供了服务和对象模型。这种统一的编程模式彻底解决了过去由于调用不同类库采用不同的约定而造成系统不稳定的情况。<BR>在基础类库之上,.NET框架为我们提供了诸如数据访问、创建WEB服务器应用程序、创建Windows客户端界面所需的其他功能强大的类库。&nbsp;<BR>类库类似于WindowsAPI函数,但它不像WindowsAPI那样“随意堆砌”在动态链接库(DLL)文件当中。.NETFramework中的任何东西,比如ASP.NET页面、消息框等,都被视为对象。这些对象被放置在叫做命名空间(namespace)的逻辑分组中,类似Java中的包(Package)。其好处是使庞大的类库变得结构清晰,易于掌握和使用。因此,在使用时,开发者只需在自己的应用中添加对所需的基础类库的引用,就可以使用这个类库中所有的方法、属性等等。<BR>2.1.4&nbsp;ADO.NET和XML<BR>ADO.NET是负责.NET框架下访问数据的类库。ADO.NET与以前的ADO相比,主要改进是通过一系列新的对象和编程模型,并与XML紧密结合,使得数据操作十分方便和高效。本文将在第本章的第二节中较为详细地阐述ADO.NET技术。<BR>2.1.5&nbsp;ASP.NET和WinForms<BR>在.NETFramework中,ASP.NET和WinForms是建立在BCL之上的两种高层应用。WinForms是传统的、基于Windows的应用,为.NETFramewor