第一章ASP.
NET2.0和ADO.NET简介1.1技术概述
大约有将近一百万名开发人员使用了.NETFramework的第一个版本来开发网站.所以在2003年的夏天,当从Microsoft传出将有新版本发布的传闻时,许多人的耳朵都竖了起来,这个新的版本将使得创建ASP.NET页面所需的代码行数减少70%.像这样大规模的提高生产效率在
程序设计中是不多见的.当ASP.NET2.0的代码样例在2003年秋的Microsoft专业开发人员大会(MicrosoftProfessionalDeveloper'sConference)上演示时,结果比预计的还要好.以前使用ASP.NET的第一个版本程序员需要花费几个小时才能做出的页面,现在使用ASP.NET2.0只需要几分钟就完成了.简单来说,在.NETFramework2.0最终版本发布之后,任何继续使用第一个版本创建ASP.NET页面的程序人员都将花费大量的额外时间才能达到相同的结果.也许就像其他任何领域一样,ASP.NET2.0所提供的优势是能够方便地将数据集成进页面.程序员不再需要知道详细的连接,命令以及数据阅读器和数据适配器对象,就能执行普通数据任务了.对于初学者掌握能力,ASP.NET2.0使得基本数据的使用简单易学,并且有能力进行更复杂的数据应用.1.1.1.NETFrameworkMicrosoft开发出了作为基本原理的.NET和一系列技术,用于在互联网中让
计算机共同
工作.总的目标就是让信息和进程在大范围的
系统和设备之间顺畅地交流..NET不是一种语言,也不是一个特别的产品.更确切地说,它是一套标准和规范,并已经应用于自2002年以来Microsoft发布的所有产品中..NET包含了一种使用开放标准的XML格式交换信息的标准化格式.可扩展标记语言(ExtensibleMarkupLanguage,XML)不需要请求者具备任何有关数据存储如何保存信息的专门知识——数据都以自描述的XML格式取出.同样地,目前几乎所有的数据存储都可以用XML来提供信息,这对于所有.NET数据客户都具有吸引力..NET支持
软件的WebServices标准,可请求在使用了开放平台标准的简单对象访问协议(SimpleObjectAccessProtocol,SOAP)和XML的远程软件上运行代码..NET网站可以从另外一个网站上找到该网站所提供的服务,并使用这些服务.这样可以使得网站从其他的网站上获得
HTML,计算后的结果或者数据集.作为.NET开端的一部分,Microsoft发布了一套运行时编程工具和应用编程接口(API),称为.NETFramework,让开发团队能够创建.NET应用程序和XMLWebServices..NETFramework由公共语言运行库(CommonLanguageRuntime,CLR)和一套统一的类库组成.CLR为运行的应用程序提供了一个完全管理的执行环境,其中包括几个服务,例如程序集装载和卸载,进程和内存的管理,安全实施以及即时编译等.CLR名称的意思就是指能够用多种语言编写应用程序,并且将
源代码编译成CLR能够读懂并运行的中间语言,而无需考虑原来所使用的语言.这种"语言独立性"就是CLR的关键特性(也是ASP.NET的特性),它允许开发人员使用自己喜欢的语言工作,比如C#,
VB或者Cobol,都能够获得.NETFramework的
常用特性..NETFramework还包括了一套类库,这套类库提供了每一个应用程序所需的常用功能.可以使用.NETFramework支持的任何语言来访问这些类库.由这些类库提供的服务(以及相应的命名空间)如下:●基本类型(System)●输入/输出(System.IO)
●数据访问(System.Data)●安全(System.Security)●数据结构(System.Collections)●配置(System.Configuration)●连网(System.Net)●反射(System.Reflection)●全球化(System.Globalization)●绘画和制图(System.Drawing)●跟踪和诊断(System.Diagnostics)●窗口(客户端)应用程序模型(System.Windows.Forms)●Web应用程序模型(System.Web)注意,.NETFramework包含了两个应用程序编程模型,一个用于客户端应用程序(System.Windows.Forms),另一个用于基于Web的应用程序(System.Web).本书着重讲解后一个模型..NETFramework中的System.Web命名空间是.NETFramework的一部分,它提供了ASP.NET功能.换句话说,ASP.NET就是构建应用程序的所有.NETFramework的一部分.1.1.2ASP.NETASP.NET是一种用于创建基于Web的应用程序的编程模型.从本质上来说,运行时和.NETFramework类库集可以用于创建动态Web页.它需要在Web服务器的环境中运行,例如MicrosoftInternetInformationServer(Microsoft互联网信息服务器,IIS),并且根据服务浏览器请求指示在服务器上执行程序.与直接由Web服务器提供的静态HTML不同的是,ASP.NET页面实际上是在服务器上执行以后再产生结果的.页面的最后生成也许是由许多不同的指令和/或数据源构造的.ASP.NET页面以.aspx扩展名存储.页面由程序员将文本,标记(例如HTML)以及ASP.NET特定服务器标记和脚本组合在一起,然后存储在Web服务器上.可以将存储后的ASP.NET页面看成是一套描述如何创建一个HTML页面的指令.当该页面被请求浏览时,服务器端程序将会用纯标记来创建一个客户端浏览器可以读懂并能呈现(render)的页面.因为呈现后的输出是纯标记,所以任何浏览器都能够读懂;所有的动态过程都发生在Web服务器端.ASP.NET特定服务器标记非常强大,例如,它可以对用户的动作作出反应,连接至数据存储以及自动创建非常复杂的HTML结构.正像前面提到的那样,ASP.NET只是.NETFramework的一部分,所以ASP.NET页面可以利用这个框架提供的所有服务,包括连网,数据访问,安全以及更多其他服务.因为ASP.NET可以使用所有这些服务,所以相比以前,能够创建更加丰富的Web应用程序.只需花少量的时间来构建所有应用程序所需的构建块,而将大多数时间用在应用程序独有的特殊逻辑上.ASP.NET还在Web编程中引入了一些独特的新技术,可以在典型的动态服务器页面(ActiveServerPages,ASP)上极大地改善开发模式:●语言独立性——因为ASP.NET是.NETFramework的一部分,所以可以使用您自己选择的语言来构建ASP.NET应用程序,例如C#,VB或J#.而典型的ASP则仅限于JScript或者VBScript页面.