第1篇 基础知识
第1章 ASP.NET 2.0开发入门
1.1 ASP.NET 2.0简介
ASP.NET 2.0是继ASP.NET 1.x之后的一种Web应用程序开发平台。它为用户提供了完整的可视化开发环境,并在生产效率、灵活性和可扩展性、性能、**性、完整性上更加完善,在操作及代码编写上更加简捷、方便。
1.1.1 ASP.NET 2.0发展历程
ASP.NET是一个Web应用程序开发平台,开发人员可以通过ASP.NET实现动态网站的开发及维护。ASP.NET是作为.NET框架体系结构的一部分推出的。2000年ASP.NET 1.0正式发布。2003年ASP.NET升级为1.1版本。ASP.NET 1.1发布之后更加激发了Web应用程序开发人员对ASP.NET的兴趣,于是在2005年11月微软公司又发布了ASP.NET 2.0。ASP.NET 2.0的发布是.NET技术走向成熟的标志。ASP.NET 2.0技术增加了大量方便、实用的新特性,使Web开发人员可以更加快捷方便地开发Web应用程序。下边首先介绍一下ASP.NET增加的新特性。
1.1.2 ASP.NET 2.0新特性
从2000年.NET技术的崭露头角,到2005年.NET 2.0的推出,微软公司为推广.NET技术可以说是不遗余力,尤其是作为Web应用程序开发的核心技术,ASP.NET 2.0更是万众瞩目。
ASP.NET 2.0将应用程序代码行数减少约70%,可以使开发人员将注意力转移到如何实现业务逻辑上,尽量做到在不写或者少写代码的情况下也可完成任务。
新增的服务器控件和包含新增功能的现有控件,可以轻松、快捷地创建ASP.NET网页和应用程序。
在页面框架方面,ASP.NET 2.0同样做出了重大的改进:使用母版页提供一致的布局、使用主题和皮肤可以为站点创建一致的外观。
1.1.3 .NET Framework
.NET Framework是微软公司推出的完全面向对象的软件开发与运行平台。.NET Framework具有两个主要组件:公共语言运行库(Common Language Runtime,简称CLR)和.NET Framework类库。
公共语言运行库是.NET Framework的基础。它为多种语言提供了一种统一的运行环境。可以将运行库看作一个在执行时管理代码的代理,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
.NET Framework的另一个主要组件是类库,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的*新创建的应用程序(如Web窗体和XML Web Services)。
1.1.4 ASP.NET 2.0的运行原理
当一个HTTP向服务器请求并被IIS接收后,首先,ns检查客户端请求的页面类型,并为其加载相应的dll文件,然后,在处理过程中将这条请求发送给能够处理这个请求的模块。在ASP.NET 2.0中,这个模块叫做HttpHandler(HTTP处理程序组件),之所以aspx文件可以被服务器处理,就是因为在服务器端有默认的HttpHandler专门处理aspx文件。
IIS将这条请求发送给能够处理这个请求的模块之前,还需要经过一些HttpModule的处理,这些都是系统默认的Modules(用于获取当前应用程序的模块集合)。HTTP请求传到HttpHandler之前要经过不同的HttpModuls处理的好处,一是为了一些必需的过程;二是为了**性;三是为了提**率;四是为了用户能够在更多的环节上进行控制,增强了用户的控制能力。ASP.NET 2.0运行原理如图l.1所示。
1.1.5 ASP.NET 2.0的运行机制。
ASP.NET 2.0运行机制如图1.2所示。
从图1.2中可以清楚地看到一个HTTP请求是如何经过服务器处理的,同时通过这张图也可以看出Request掌管着所有客户端的输入。图中展示了一个HTTP请求有可能经过的4条路线。当用户**次访问这个页面时,这个请求首先经过HttpModuls和HttpHandler(HTTP处理程序组件)的处理,而在HttpHandler的处理中服务器会为用户转到其真正要访问的页面,然后通过ASP Engine来找到这个页面背后的类,并实例化为一个临时对象,在此过程中会触发一系列的事件,其中一部分的事件需要经过对象中的方法处理,之后服务器会将这个处理后的页面移交给Response对象,*后由Response对象将这个页面发送到客户端,这就是**条路线。当用户在这个页面上重新提交一些信息,并继续向服务器发送请求时,因为用户与服务器之间的会话已经建立,同时对应的临时对象也在服务器中建立,所以不用再经过初始化页面的工作,故第二条路线是按照HttpModuls、HttpHandler直接与临时对象交互然后返回的。第三条路线与第二条不同的是在处理请求时如果涉及到需要调用ASP Cache(即ASP缓存),临时对象将直接从ASP缓存提取信息并返回。第四条路线就是当用户刷新这个页面时,服务器接收到HTTP请求,发现这个请求先前已经处理过,并将处理结果存储到由一个默认的HttpModule管理的输出缓存中,那么用户就可以直接从这个缓存提取信息并返回,而无须再重新处理一遍。
1.1.6 AS P.NET 2.O的优点
ASP.NET 2.0的功能从各个方面都有显著增强。使用ASP.NET 2.0建立网站和网页并维持其运行比以前变得更加简单,而且使用的代码比以前更少。同时,用户还可以根据自己的需求向ASP.NET添加自定义功能。下面介绍ASP.NET 2.0的几个重要优点。
1.增强的性能
ASP.NET 2.0是编译好的公共语言运行库代码,运行在服务器上。它可以利用早期绑定、实时编译、本机优化和盒外缓存服务,相当于在编写代码前提高了应用程序性能。
2.***的工具支持
ASP.NET 2.0框架补充了Visual Studi0 2005集成开发环境中的大量工具箱和设计器。
3.威力和灵活性
由于ASP.NET 2.0基于公共语言运行库,因此web应用程序开发人员可以使用整个平台的威力和灵活性。.NET框架类库、消息处理和数据访问解决方案都可从Web无缝访问。ASP.NET 2.0与语言无关,所以可以选择*适合应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证了在迁移到ASP.NET 2.0时保留基于COM开发中的现有投资。
4.简易性
ASP.NET 2.0使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了程序的开发过程。
5.可管理性
ASP.NET 2.0采用基于文本的分层配置系统,简化了设置应用于服务器环境和Web应用程序的工作。
……