六、 .NET框架篇
.NET是微软自从发布Windows 3.0以来最为激动人心的新技术,是微软战略上为下一个十年对服务器和桌面软件工程的第一步,是微软的一场世纪大豪赌。对于.NET,微软的定义是,“用于构架、配置、运行网络服务及其他应用程序的开发环境。该平台包括三个主要部分:公共语言运行时、框架类和ASP.NET。”
.NET框架是微软公司继Windows DNA以来的新的开发平台。基于这个新的框架,以前在DNA中暴露出来的缺陷有望得到解决。另一方面,.NET并没有完全抛弃WINDOWS DNA,实际上它是WINDOWS DNA的继续和发展。如今的.NET不仅有一套明确的技术规范,还提供了一系列的支持产品,例如编译器、类库甚至最终的用户程序。如Windows.NET是操作系统平台、.NET框架是运行环境、.NET企业服务器为产品服务器、Visual Studio.NET为编程平台。
.NET框架是以一种类似于Java系统的虚拟机方式运行和管理的编程平台,通过公共语言运行时刻为基础,支持多种语言(C#、VB.NET、C++、Python 等)的开发。下图5展示了.NET的整体框架结构。
图5..NET体系结构。
下面的图6则从另一个角度展示了公共语言运行库和类库与应用程序之间以及与整个系统之间的关系。注意,该插图还展示了托管代码如何在更大的结构内运行。
图6..NET公共语言运行库与类库、应用程序及整个系统之间关系示意图。
.NET框架具有两个主要组件:公共语言运行库和.NET框架类库。公共语言运行库是.NET框架的基础。您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET框架的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新的应用程序(如Web窗体和XML Web服务)。
.NET框架可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET框架不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。
【注】.NET框架简史
.NET框架1.0(完整版本号1.0.3705),系最初的.NET构架,发行于2002年。它也是第一个微软Visual Studio.NET的发行版的一部分(Visual Studio.NET 2002)。
.NET框架1.1(完整版本号1.1.4322),这是首个主要的.NET框架升级版本,发行于2003年,它也是第二个微软Visual Studio.NET版本的一部分(Visual Studio.NET 2003)。它也是首个Windows Server 2003内置的.NET框架版本。这个框架新增功能有:
·内建了对移动ASP.NET控件的支持,现在已经集成到框架的内部。
·安全方面的变更—使得Windows窗体代码以可靠的行为执行,从而可以在互联网环境内安全运行,并且加入了ASP.NET应用程序的代码安全访问功能。
·内建了对ODBC和Oracle数据库的支持,现在已经集成到框架的内部。
·.NET Compact框架—这是一个用于智能设备(例如 PocketPC或者SmartPhone)的.NET框架的子集。
·对IPv6的支持。
·大量的API变更。
.NET框架2.0(完整版本号2.0.50727.42),发行于2005年10月27日。重大改进有:
·大量的API变更。
·一个新的API让需要管理一个.NET运行库实例的非.NET的应用程序可以做到这点。这个新的API对.NET运行库的各种功能(如多线程、内存分配、代码载入等)均提供了很好的控制。
.NET框架3.0(曾用名WinFX),将随Windows Vista一同发布。这个框架依然使用.NET框架2.0版本的CLR(公共语言运行时),并加入了适应未来软件发展方向的4个框架:Windows描述基础(WPF)、Windows通信基础(WCF)、Windows工作流基础(WWF)和Windows CardSpace(WCS)。