0.3 ASP.NET的版本变迁
迄今为止,ASP.NET已经算是非常成熟的一项Web开发技术,但它也是经历了多个版本才能够有现在的地位。所以,了解ASP.NET的发展历程对于每个ASP.NET开发人员来说都是非常有意义的。可以把它的发展历程分为以下几个阶段,本文分成三小节分别进行介绍。
0.3.1 ASP.NET 1.0与ASP.NET 1.1
2002年,随着微软.NET口号的提出与Windows XP、Office XP的发布,微软发布了代号为“Rainier”的Visual Studio.NET(内部版本号为7.0)。它最大的改进就是使用.NET框架(版本1.0)引入了受控代码开发环境,使用.NET开发的程序并不会像C++那样被编译为机器语言,而是被编译成一种叫做微软中间语言((MIL)或者通用中间语言((I)的格式。当一个MSIL应用程序被执行时,它会被即时编译成适用于所运行平台的机器语言,这样就使得代码可以跨平台运行。
与此同时,ASP.NET这种新型Web开发技术也闪亮登场(版本1.0)。它的前身是ASP,但与ASP相比,ASP.NET发生了质的变化:
1)改变了传统ASP的开发模式,使用了设计与代码分离的代码隐藏模型。
2)消除了对脚本引擎的依赖性,支持多语言开发,如C#、Visual Basic等。其中,C#是微软当时引入的一门新型语言(读作C Sharp,意为C++++),它是建立在C++和Java基础之上的现代语言,是编写.NET框架的语言。
3)提供了丰富的Web服务器控件和代码调试等工具,让你使用“拖曳”的方式就能够很快地设计出自己的网页,大大地节约了设计成本。
4)功能强大的身份确认模型。2003年,微软对Visual Studio 2002进行了部分修订,发布了代号为“Everett”的Visual Studio 2003(内部版本号为7.1)。它将.NET框架由1.0版升级到1.1版,同时为使用ASP.NET或.NET Compact Framework来开发移动设备程序提供了内置支持。
0.3.2 ASP.NET 2.0
到2005年,微软发布了Visual Studio 2005,同时也将ASP.NET由1.1版升级到2.0版本。相对于ASP.NET 1.1,ASP.NET 2.0做了如下方面的改进:
1)丰富的控件。在原来的基础上增加了许多新的控件,如站点导航控件、数据控件(包括数据源控件和数据绑定控件)、登录系列控件、Web部件和其他服务器控件等,从而大大地降低了开发成本。
2)母版页。母版页是扩展名为.master的文件,其代码内容和结构与普通.aspx文件类似。在创建母版页时,需要将页面公共部分存储于母版页中,例如,页面公用的页头、页尾等,而非公共部分则使用ContentPlaceHolder控件实现占位。虽然内容页文件扩展名为.aspx,但是代码内容和结构与普通.aspx文件代码相距甚远,其代码分为两个部分:代码头声明一个或多个Content控件。开发人员需要在内容页代码头绑定母版页,同时,将页面非公共部分内容设置在Content控件标签之间。在运行时,用户不能直接请求母版页,只能请求访问内容页。此时,母版页和内容页将合并生成结果页,结果页面包含页面公共部分和非公共部分的运行结果。
3)主题和皮肤。“主题”是指页面和控件外观属性设置的集合。主题由一组文件构成,可能包括皮肤文件、CSS文件、图片和其他资源等,它们都必须存储在App_Themes文件夹中。皮肤文件是主题的核心内容,扩展名为.skin,其中包含各种服务器控件的各种属性设置。利用主题功能,不仅能够定义页面和控件的外观,还可以在所有Web应用、单个Web应用的所有页面或单个Web页面中,快速一致地应用所定义的外观。另外,还可以根据应用的需要动态加载主题。
4)个性化用户配置。个性化用户配置功能主要用于存储单个用户配置数据,这些数据可以是简单数据类型,也可以是复杂数据类型,甚至自定义对象等。同时,单个用户既可以是匿名用户,也可以是注册用户。默认情况下,所有用户配置数据都存储在SQL Server数据库中,并且无须自行创建和维护该数据库,这些工作都由ASP.NET 2.0自动完成。个性化用户配置功能还支持从应用程序中任何位置访问的多种强类型API,以方便存储、显示和管理用户配置信息。个性化用户配置功能的使用非常简单,首先在Web.config文件中定义配置信息名称、数据类型等,然后调用与用户配置功能有关的强类型API。例如,Profile实现对用户配置信息的存储、访问和管理等应用。
5)成员资格和角色管理。成员资格和角色管理功能的核心是利用自动生成的数据库表、多个实现管理功能的API、成员资格和角色管理提供程序,实现模块化和自动化的成员资格和角色管理模式。具体而言,包括创建和管理用户和角色信息、实现对多种数据源中用户和角色信息的管理、验证访问应用程序的用户凭证、支持使用Cookie缓存角色信息、实现角色管理与成员资格管理等功能的集成。
6)配置和管理工具。为了快速方便地实现应用程序的配置和管理,ASP.NET 2.0提供了两个内置的可视化工具:一个是ASP.NET MMC管理单元,另一个是Web网站管理工具。只要你的计算机中安装了Internet信息服务((IS)和.NET Framework 2.0或以上版本,那么打开IIS即可使用ASP.NET MMC管理单元。利用该工具可对指定应用程序的连接字符串、应用程序配置、自定义错误、授权、身份验证、公共编译、页和运行时、全球化和标识、应用程序状态、位置等进行全面设置,所有设置结果都将显示在应用程序Web.config文件中。从这一角度而言,ASP.NET MMC管理单元是一个用于编辑Web.config文件的图形化工具。
0.3.3 ASP.NET 3.5
2007年11月,微软发布了Visual Studio 2008英文版,并于2008年2月14日发布了简体中文专业版,ASP.NET也由2.0升级到3.5。相对其他的版本来说,ASP.NET 3.5取得了更大的技术突破,为开发者提供了一系列新技术:
1)内置对ASP.NET AJAX的支持。Ajax(异步JavaScript和XML)这几年来一直是Web开发领域的热点话题,它是一项快捷的客户端编程技术,它允许页面不必触发一次完整的回发就可以调用服务器方法并更新自身的内容。通常,Ajax页面通过客户端脚本代码触发一次幕后的异步请求,服务器端接收到请求后,执行相关的请求代码,返回页面所需要的数据,客户端代码获取到新数据后利用它们再执行其他动作,如刷新页面的一部分等。
在ASP.NET 3.5中,提供了对ASP.NET AJAX Extension部分的内置支持。而且,在如下方面进行了增强:
❑对JavaScript编程的智能感知((itellisense)支持。
❑对ASP.NET AJAX库提供集成的编辑器支持。
❑针对支持JSON的.asmx Web服务编程的智能感知支持。
❑增强的JavaScript调试支持。
❑ASP.NET AJAX扩展器控件支持。
2)引入了重量级对象—LINQ技术。LINQ(Language Integrated Query,语言集成查询)允许你编写C#或者Visual Basic代码以查询数据库相同方式操作内存数据。可以使用它来查询集合和数组中的数据、数据库中的数据和XML中的数据等,并且语法是一样的,而且很像SQL查询语法。此外,ASP.NET 3.5还新出炉了几个ASP.NET数据控件:<asp:ListView>、<asp:LinqDataSource>与<asp:DataPager>。这几个控件在数据访问方面与LINQ对象结合可以提供更丰富的支持。
3)对Silverlight的支持。Silverlight是一种新的Web呈现技术,能在各种平台上运行。借助该技术,你将拥有内容丰富、视觉效果绚丽的交互式体验。而且,无论是在浏览器内、各种设备上,还是在桌面操作系统(如Apple Macintosh)中,你都可以获得这种体验。
在Visual Studio 2008推出不久,微软就推出了Visual Studio 2008 Service Pack 1版本。该版本主要针对Visual Studio 2008进行了相关的错误修复、安全补丁和小幅度的性能优化。同时,在ASP.NET方面也加强了ASP.NET AJAX的功能,并提供了对ASP.NET动态数据的支持等。