购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 ASP.NET Framework

ASP.NET经过了多年的发展,受到越来越多的编程人员的青睐。在2012年,.NET 4.5正式版本问世了,它的出现代表着一系列可以用来帮助我们建立丰富应用程序的技术又向前发展了一步。

1.1.1 .NET Framework的发展

.NET Framework(.NET框架)是微软公司于2002年正式发布的新一代系统、服务和编程平台。它把原有的重点从连接到互联网的单一网站或设备转移到计算机、设备和服务群组上,从而将互联网本身作为新一代操作系统的基础。这样的话,用户就能够通过控制信息的传递方式、时间和内容来得到更多的服务。

.NET框架发展历程已经有整整10个年头了,已从最初的1.0版本发展到目前的4.5版本,平均每两年更新一次。下面就来回顾一下这一段不平凡的过程。

2002年,.NET框架1.0版本(完整版本号是1.0.3705)发布,它是.NET框架最初的版本,它同时也是Visual Studio.NET 2002的一部分。它给软件开发带来了很多激动人心的特性:

● 统一的类型系统,基础类库,垃圾回收和多语言支持。

● ADO.NET 1.0开启了微软全新的数据访问技术。

● ASP.NET 1.0变革了ASP,提供一种全新的方式来开发Web应用程序。

● Windows Forms 1.0把微软开发Windows桌面系统的界面统一在一起。

2003年,.NET框架1.1版本(完整版本号是1.1.4322)发布,它是.NET框架的首个主要升级版本,是Visual Studio.NET 2003的一部分,也是首个Windows Server 2003内置的.NET框架版本。1.1版本发布后,程序界开始追捧这个平台。

2005年,.NET框架2.0版本(完整版本号是2.0.50727.42)发布,这次的变化是革命性的,是Visual Studio.NET 2005的一部分。2.0版本带来的新变化如下:

● ADO.NET 2.0加强了很多功能,提升了性能,能够更好地进行数据层的开发。

● Web服务的性能得到提升,并且在安全性等方面都得以保证。

● 泛型和内置泛型集合的支持,和其他基础类库的扩展,可以让内部的公共类库开发更加简化。

● 全新事物机制(System.Transactions)的引入,让整个系统的事务处理更加方便。

2006年,.NET 3.0发布,这个版本比较特殊,它需要安装.NET 2.0后才能运行,因此软件界普遍不把.NET 3.0当作正式的.NET版本。它提供了如下组件:

● WindowsCommunicationFoundation(WCF),支持面向服务的应用程序。

● WindowsWorkflowFoundation(WF),支持基于工作流的应用程序。

● WindowsPresentationFoundation(WPF),适用于不同用户界面的统一方法。

● WindowsCardSpace(WCS),是一致的数字标识用户控件。

.NET 3.0提供的这些组件为开发企业应用程序提供了一致的基础框架,这样业务开发人员就只需要关注于业务问题的解决即可。

2007年11月19,.NET 3.5发布,它同时是Visual Studio.NET 2008的一部分。.NET 3.5带来的新特性如下:

● ASP.NETAJAX,将AJAX扩展包内置到.NET 3.5里面。

● 语言改进和LINQ,具体改进内容包括自动属性、对象初始化器、集合初始化器、扩展方法、Lambda表达式、查询句法、匿名类型。

● LINQtoSQL实现的数据访问改进。

● 在ASP.NET 3.5扩展版本中推出了MVC编程框架。

2010年,.NET 4.0版本发布,它同时是Visual Studio.NET 2010的一部分。.NET 4.0带来的新特性如下:

● ASP.NET MVC 2.0版本被集成到了Visual Studio 2010中作为一个项目模板出现。

● ASP.NETAJAX 4.0的出现让ASP.NET在AJAX的运用上得到了很大的提高。

● 增加了对使用Web窗体进行路由的内置支持。

● Visual Studio 2010中的网页设计器提高了CSS的兼容性,增加了对HTML和ASP.NET标记代码段的支持,并提供了重新设计的JScript智能感知功能。

● 加强了对视图状态(ViewState)的控制。

2012年,.NET 4.5发布,它同时是Visual Studio.NET 2012的一部分。本书就是基于目前这一最新版本进行ASP.NET 4.5网站开发介绍的。

通过.NET框架的发展历程可以看出,微软的.NET战略就是要进一步解放程序员,让项目开发变得更加高效率,而且更加简单容易操作。沿着这个方向发展,可以预见:在未来的一段时间内,程序开发将不再是专业程序人员的事情,而真正懂业务逻辑的专业人才将会成为项目开发的主力。

1.1.2 .NET语言

ASP.NET 4.5框架支持多种语言,包括:C#、VB、J#、C++和F#等,而本书在后台使用的语言主要是C#。

C#是一个是在.NET 1.0中开始出现的一种新语言,在语法上,它与Java和C++比较相似。实际上C#是微软整合了Java和C++的优点而开发出来的一种语言,是微软对抗Java平台的一个王牌。

.NET框架还支持其他语言,比如J#等,甚至还可以使用第三方提供的语言,比如Eiffel或COBOL的.NET版本。这样就增加了程序员开发应用程序时可供选择的范围。尽管如此,在开发ASP.NET应用程序时VB和C#还是首选。

其实,在被执行之前,所有.NET语言都会被编译成为一种低级别的语言,这种语言就是中间语言(Intermediate Language,IL)。CLR只所以支持很多种语言,就是因为这些语言在运行之前被编译成了中间语言。正是因为所有的.NET语言都建立在中间语言之上,所以VB和C#具有相同的特性和行为。因此利用C#编写的Web页面可以使用VB编写的组件,同样使用VB编写的Web页面也可以使用C#编写的组件。

.NET框架提供了一个公共语言规范(Common Language Specification,CLS)以保证这些语言之间的兼容性。只要遵循CLS,任何利用某一种.NET语言编写的组件都可以被其他语言所引用。CLS的一个重要部分是公共类型系统(Common Type System,CTS),CTS定义了诸如数字、字符串和数组等数据类型的规则,这样它们就能为所有的.NET语言所共享。CLS还定义了诸如类、方法、实践等对象成分。然而事实上,基于.NET进行程序开发的程序员却没有必要考虑CLS是如何工作的,因为这一切都由.NET平台自动来完成。其实CLR只执行中间语言代码,然后把它们进一步编译成为机器语言代码以能够使当前平台所执行。

1.1.3 公共语言运行时

公共语言运行时(Common Language Runtime,简称CLR)是用.NET语言编写的代码公共运行环境,是.NET框架的基础,也是实现.NET跨平台、跨语言、代码安全等核心特性的关键。它是一个在执行时管理代码的代理,以跨语言集成、自描述组件、简单配制和版本化及集成安全服务为特点,提供核心服务(如内存管理、线程管理和远程处理)。

公共语言运行时管理了.NET中的代码,这些代码称为受托管代码。它们包含了有关代码的信息,例如代码中定义的类、方法和变量。受托管代码中所包含的信息称为元数据。公共语言运行时使用元数据来安全地执行代码程序。除了安全的执行程序以外,受托管代码的目的在于CLR服务。这些服务包括查找和加载类以及与现有的DLL(Dynamic Link Library,动态链接库)代码和组件对象之间的相互操作。

公共语言运行时遵循公共语言架构的标准,能够使C++、C#、Visual Basic以及JScript等多种语言可以深度集成。

1.1.4 动态语言运行时

动态语言运行时(Dynamic Language Runtime,简称DLR)。就像公共语言运行时(CLR)为静态型语言如C#和VB.NET提供了通用平台一样,动态语言运行时(DLR)为像JavaScript、Ruby、Python甚至COM组件等动态型语言提供了通用平台。

动态语言运行时是一种运行时环境,它将一组适用于动态语言的服务添加到公共语言运行时。借助于动态语言运行时,可以更轻松地开发要在.NET框架上运行的动态语言,而且向静态类型化语言添加动态功能也会更容易。

动态语言运行时的目的是允许动态语言系统在.NET框架上运行,并为动态语言提供.NET互操作性,同时动态语言运行时还可帮助开发人员创建支持动态操作的库。

1.1.5 .NET类库

.NET 4.5框架的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,例如ADO.NET、ASP.NET等。.NET基类库位于公共语言运行库的上层,与.NET Framework紧密集成在一起,可被.NET支持的任何语言所使用。这也就是为什么ASP.NET中可以使用C#、VB.NET、VC.NET等语言进行开发的原因。.NET类库非常丰富,提供数据库访问、XML、网络通信、线程、图形图像、安全、加密等多种功能服务。类库中的基类提供了标准的功能,如输入输出、字符串操作、安全管理、网络通信、线程管理、文本管理和用户界面设计功能。这些类库使得开发人员更容易地建立应用程序和网络服务,从而提高开发效率。 OyDSPCEmuKhRNP7zHPL8y7FRmBisb3ACmarFo7fTDke+8QPoegPorDeA9SErZn72

点击中间区域
呼出菜单
上一章
目录
下一章
×