首页>参考读物>计算机科学与技术>软件与程序设计

ASP 3高级编程
作者 : Richard Anderson Chris Blexrud
译者 : 刘福太 张立民 金慧琴 梁发麦
出版日期 : 2000-10-30
ISBN : 7-111-07678-8
定价 : 89.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 925
开本 : 16开
原书名 : Professional Active Server Pages 3.0
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

包含在Windows 2000中的Active Server Pages 3.0 (ASP 3.0)是Microsoft公司推出的又一个支持Internet的功能强大的网页制作软件包,除了继续保持其适应于各种浏览器的基本特征外,与ASP 2.0相比,功能更加强大,目前已成为开发Internet应用程序的理想选择。
本书第1~7章介绍了ASP的基础知识、ASP 3.0的变化、ASP的对象模型、使用ASP脚本和外部组件的所要求的基本概念。第8~12章介绍了通用数据的访问和连接问题,包括ADO、UDA和XML。第13~18章介绍了使用ASP建立组件的问题,以及COM和COM+如何改变组件的环境。第19~23章是关于ASP与BackOffice类应用软件的结合问题,如Microsoft Message Queue Server、Collaborative Data Objects、Microsoft Exchange和Active Directory等等。第24~27章是在企业环境中使用ASP的安全性、性能和可扩展性等问题。第28章和附录提供了一个XML驱动的在线报纸示例和大量以表格形式给出的相关资料。
本书不仅为Internet开发人员提供了详实的开发编程指导,也是致力于Internet网络应用与开发的广大科技人员和大专院校相关专业师生的一本重要的自学、教学参考书。

图书前言

据说每个人都会确切地记得,当某一重要的历史事件发生时他当时在哪儿,正在做什么。例如肯尼迪遇刺,埃尔维斯·普莱斯利逝世,或只是一些不那么具有历史意义的事件,例如首次见到游戏“Doom”。
我的一位同事坚信,微软的动态服务器网页(Active Server Pages,ASP)技术(当时称为Denali)的面世就是这样的一个重要事件。他确切地记得当时他在做什么,他刚完成了一部有关Web数据库互连技术的书,其结尾是当时著名的Internet数据库连接器(IDC)技术。在出版之前,他迅速加上额外的一章,将这一激动人心的、崭新的ASP技术加到该书里。事实上,该书得以畅销的真正原因可能正是因为这一章,因为忽然之间所有的开发者都想“进入”ASP。
这一切似乎是很久以前的事了,我们也已不再津津乐道ASP以及围绕它而建立的一系列相关技术。但是到写这本书时,ASP的诞生也只有不到三年的时间。而我们在这里要奉献给读者的是刚发布的ASP 3.0版本,介绍它所具有的特性、性能和各种功能。
本书的内容
本书关注的是包含在Windows 2000中的ASP 3.0。然而,由于ASP是Windows面向Web特征的核心组成部分,因此本书的内容不仅仅讨论ASP如何工作。事实上,ASP内容相当广泛,它也是一种成熟的技术,包含了与Windows的其他服务与软件的综合使用,并且有许多其他领域直接影响ASP的使用与性能。
特别是Windows操作系统本身,包括了Windows 2000新的安全特征,以及Windows 2000内的Internet信息服务器(Internet Information Server,IIS)。在这之上是其他一些不甚显眼的服务,它们都直接或间接地影响了ASP的工作方式,例如COM+、各种Internet服务管理工具等。许多其他的服务和软件包也间接地影响了ASP的工作方式,为ASP提供了附加的功能,或者为在ASP中使用提供了接口。
事实上,这就是ASP能够发展和成为在Internet上工作的Windows的一个重要组成部分的原因。ASP在Web脚本中引入了使用ActiveX接口或完善的组件对象(提供COM接口的分立控件)的概念,而不是像其他Web脚本语言(例如Perl)那样,运行外部可执行程序。
与COM和Active X相集成意味着只要提供合适的接口就可以有效地访问Web服务器或连接的网络上的任何信息。单从这点来看,实现或封装了特定功能的组件和对象的市场前景是巨大的。不仅如此,Windows上安装的几乎所有软件和服务都包括了一系列特定的ActiveX组件,或者直接提供了COM接口,允许ASP访问。
因此,本书中包含了ASP的基本内容、基本对象模型及其使用方法,书中还说明了ASP如何以多种方式与Windows软件和服务恰当地结合。一个最有代表性的例子是访问关系型数据库或其他类型的数据存储(例如Active Directory)的数据,本书有几章内容都涉及到了这个问题。
本书也探讨了IIS和COM / COM+之间的密切关系,以及ASP如何改变执行外部组件的方式以便提供更好的性能和可扩展性,这些都影响了组件的设计和创建。我们将以一定深度探讨这些话题。
本书的适用对象
当ASP首次出现时,我们曾出版过面向初学者的ASP技术书籍。当时这是足够了,因为每个人都是初学者。但是,随着ASP的巨大成功,情况发生了很大的变化,无数知识丰富的、积极的ASP开发者需要了解新版本的核心技术。
当ASP的2.0版本发布时,我们出版了单独的初学者指南。对于ASP 3.0,我们也出版了单独的初学者指南,但本书是专业水平的版本,目标针对两类开发人员,一类是很好地掌握了ASP技能和服务器端Web应用程序的开发人员。另一类是对ASP不很熟悉,但是有服务器端Web应用程序开发背景(如用Perl、IDC等)的开发人员,本书对这类人员能提供一个快速的指导。而对于Web应用程序和动态Web页创作的初学者来说,我们建议首先学习《ASP 3初级编程》(即将由机械工业出版社出版)一书。
ASP 3.0版本尽管不是革命性的升级版本,但事实上,它几乎已经达到了无所不能或应有尽有的地步,已能够充分地满足大多数开发者的需求。工作的方式有了很多细小的变化,如ASP 3.0中的脚本引擎、IIS的Web服务器和管理工具;也有些本质上的变化,如IIS与COM/COM+之间的关系,这也是我们需要重点掌握的。假如在ASP 2.0版本中你没有真正地用到COM和MTS(很多人设法绕过他们),现在可以开始掌握和使用它们来设计网页和组件了。
本书覆盖的范围
本书从概念上划分为几个部分,以便读者按顺序学习ASP的众多内容,掌握ASP的基本工作方式与核心内容,这有助于进一步学习高级的ASP特性。
第一部分介绍ASP基础知识,阐述了ASP版本3.0的变化、ASP的对象模型、使用ASP脚本和外部组件的所要求的基本概念。
第二部分包括ActiveX数据对象(ADO)和通用数据访问问题,包括XML。ADO现在已成为微软应用程序间的标准通信技术,且毫无疑问应该用于ASP中。
第三部分介绍了使用ASP建立组件的问题,以及COM和COM+如何改变组件的环境。
第四部分讨论ASP与 BackOffice类应用软件的结合问题,如Microsoft Message Queue Server、Collaborative Data Objects、Microsoft Exchange和Active Directory等等。
第五部分主要讨论在企业环境如何使用ASP的问题,探讨了安全性、性能、可扩展性等问题。
第六部分提供了大量以表格或附录形式出现的有用的相关资料。
读者不需要从头至尾阅读本书或者以特定的顺序阅读本书。如果读者从原来使用的其他Web开发环境转到ASP上,应该阅读第一部分和第二部分,以便于在一定深度上牢固掌握基础知识,以了解ASP与其他Web开发的开发语言和技术的相关性。
如果读者是熟练的ASP开发人员,应阅读第1章,以便了解版本3.0中的新特性和新变化,然后从相应的章节中找到对你有影响的内容。当然,我们也不反对读者从头至尾阅读本书,但我相信那会是一件很累人的工作。
使用本书需要的环境
为了更好地阅读本书需要安装ASP,具体要求是:
1. 硬件
用一台安装Windows 2000的计算机做为Web服务器,最好用Windows 2000 Server或更高的版本。IIS和大多数相关联的服务(也有些例外)包含在Windows 2000 Professional(用来取代Windows NT Workstation)中。对于作为Windows 2000 Server,配置最小为233MHz的处理器和128MB的内存(256MB更好)。对于Windows 2000 Professional,可以用64MB的内存。在装有Windows 9x的计算机上也可以运行ASP 3.0和IIS 5.0,但本书中我们主要针对Windows 2000环境。
客户计算机通过TCP/IP与Windows 2000相连。可以直接在Web服务器上开发,但采用单独的客户机则更好一些,只要可以运行浏览器,我们所用的浏览器大多数为Internet Explorer 5.0(IE 5.0),当然也可以采用其他浏览器。然而,有些示例利用了IE 5.0的特殊特性,在其他浏览器上使用时,将会出现问题。计算机网络的多种协议中应包括TCP/IP。事实上,在使用ASP时,只使用TCP/IP,其他协议是禁用的或不需安装的。
注意,如果你工作在一个共用的网络上,在改变网络协议时,请与系统管理员协商。
非Windows平台
ASP已在Web开发领域中流行起来,但只能在Windows平台上运行是其存在的问题,有两家公司已经将ASP移植到其他平台或操作系统上。
最著名的是Chili!ASP (http://www.chilisoft.com),从功能上来讲它等同于ASP。它利用与ASP一样的开发工具和功能,但是运行在Netscape、Lotus Go以及基于NT 4.0的Web服务器上。
第二个类ASP是Halcyon Software誷的 Instant ASP (http://www.halcyonsoft.com),它可以运行在很多Web服务器、应用程序服务器和操作系统上,如Windows NT、Sun、Novell、AIX、AS/400、S/390、Apple、OS/2、Linux、Apache、Netscape、Websphere等等。
本书中不可能覆盖这么大的范围,我们集中讨论运行于IIS 5.0和Windows 2000 Server上的ASP 3.0,当然,这些知识也可能适用于其他类ASP的环境中。但选择平台及操作系统时,要确定实际的覆盖范围及其兼容性。
2. 软件
所需要的几乎全部软件都包含在完全安装的Windows 2000 Server中,当主要的操作系统安装完成后,重新启动服务器,将出现标题为“Windows 2000 Configure your Server”的窗口,如图1所示。
利用这个窗口安装你想在服务器上运行的附加的服务和应用程序,你可选择页面左侧的菜单上的Advanced选项下的Optional Components,利用窗口右侧的Start the Windows Components Wizard来安装IIS和其他与Web相关的软件,例如Indexing Services、Clustering Services、Message Queuing Services等。假如想安装Active Directory,必须首先在这个页面中安装和设置DNS,然后选择Active Directory选项。将有向导指引你通过安装过程,这将使整个安装过程十分简单。
图1  Windows 2000 配置窗口
使用这书时,还有其他一些软件需要安装。在本书的示例文件中有一些服务器组件,或者我们提供一个链接以便能从原始位置下载它们。读者在本书中看到的示例文件可以从我们的Web站点上下载,网址如下:
开发工具
最著名的ASP开发工具是微软的Visual Studio软件包,或者Visual InterDev (Visual Studio软件包中的一部分)。特别是最新版本的Visual InterDev提供了全套的编辑、调试和代码构建工具,有很多的向导帮助你快速完成工作。
除了Visual InterDev,Visual Studio还包含Visual Basic和Visual C++,两者都可以构建在Web应用程序中使用的ASP组件。也可以使用其他能够使用COM的语言,例如其他C++开发环境、Delphi、J++、PowerBuilder等建立ASP组件。
其他公司也提供构建ASP网页和完成Web应用程序的工具,包括Drumbeat (http://www .elementalsw.com)、Fusion3.0(http://www.netobjects.com)、HAHTSite(http://www.haht.com)、Cold Fusion(http://www.allaire.com)、XBuilder(http://www .signmeup.com)等。
假如你是一个习惯使用键盘的高手,不喜欢用编程工具编写代码,可以选择一个文本编辑器来创建ASP页,甚至可用纯HTML页创作工具(例如微软的FrontPage)来创建页面,然后插入ASP脚本。那些包含文本行号(有助于定位错误)的编辑器更有用。我们曾经用过TextPad (http://www.textpad.com),发现它相对于NotePad有很大的改进,它不仅仅提供带有行号和宏的多文档界面,还提供了许多有用的选项和附加功能。
对于一些特殊任务,本书还使用了很多其他工具和附加工具,特别是负载测试和性能检测时,你会发现本书中很多地方都有对这些工具的描述。如果想知道这些工具的详细资料,可以浏览15 Seconds网站的Tools网页(http://www.15seconds.com/tool/default.htm)。
信息反馈
我们尽一切努力使本书尽可能准确、完美,但你觉得它怎么样呢?请把你的意见反馈给我们,请直接用E-mail与我们联系,地址是feedback@wrox.com。
本书中的所有示例的源代码都可以从Wrox出版社的Web站点下载,网址是www.wrox.com或webdev.wrox.co.uk。你可以在相关的Web站点www.comdeveloper.com找到更多的与COM相关的信息。
我们一直努力以保证我们书中的文字和程序代码不出现错误,然而我们也知道,这是不可避免的。因此我们认为有必要让读者知道,哪里出现错误,应该如何改正。在我们的站点www.wrox.com上有勘误表。如果你发现尚未发现的错误,请告诉我们。
我们的站点也提供其他信息和支持,包括我们的所有书籍的源代码、一些章节的示例、即将出版的书籍的预告,以及相关题目的文章及观点。
客户支持
本书引入了一整套全面的独一无二的支持系统,Wrox现在承诺不仅在你阅读本书时提供支持,而且在你开发应用程序时也提供支持。我们为你提供一个论坛,可以把你的问题提交给本书的作者和行业专家。你可以订阅我们的邮件列表,或者直接浏览在线论坛和新闻组来寻求答案。
请到p2p.wrox.com站点,你将发现三个邮件列表:
勘误表(Errata)
当你发现本书的某些错误,或者认为某些东西不对劲儿或容易引起误解,你可以在此留下消息。你除了能获得快速答复外,还将得到本书每一位作者的更进一步的帮助,因为他们能立刻看到你的问题,并做出解答。
代码诊所(Code Clinic)
如果你阅读了本书后,在实际开发自己的应用程序时发现结果并不像你认为的那样,请把代码寄给我们,就会得到作者或那些曾经遇到同样问题的人们的建议和帮助。
如何做(How to )
如果你认为某些问题本书应该讨论,或者想更深入地了解某些问题,甚至某个问题还无法解决,都可以作为研讨的问题放在这里。如果你正在开发某个应用程序,这儿可能有做过类似应用程序的人,他们能帮助你解决你的问题。
马上参加吧,这是我们免费的技术支持系统的一部分,登记注册的详细说明在附录H中。

本书英文原书书号:ISBN 1-861002-61-0
原出版社网址:www.wrox.com

作者简介

Richard Anderson Chris Blexrud:暂无简介

译者简介

刘福太 张立民 金慧琴 梁发麦:暂无简介

译者序

自从Microsoft公司于1997年推出了支持Internet的动态服务器网页(Active Server Pages,ASP)技术后,由于其功能强大,支持所有的浏览器,其市场占有率直线上升。ASP技术的出现极大地改变了网页开发者的工作环境,促进了Internet应用程序的发展。同时ASP技术本身也在不断发展。
Active Server Pages 3.0现在已集成在Windows 2000中,成为Windows面向Web特征的核心组成部分。ASP是Internet发展的重要里程碑,在ASP之前,没有一种与浏览器无关的网页制作方法,ASP技术解决了这一问题,使得任何浏览器都能访问在服务器端用ASP制作的网页脚本。ASP 3.0与1.0和2.0版比较,是一个革命性的升级版本,几乎已经达到了无所不能或应有尽有的地步,充分地满足了大多数开发者的需求。它在脚本引擎、互联网信息服务器(Internet Information Server,IIS)的Web服务器和管理工具的工作方式方面有很多细小的变化,也有些方面有很多本质上的变化,如IIS和COM / COM+之间的关系等。
本书的内容相当广泛。除了ASP的基本内容、对象模型及其使用方法外,书中还说明了ASP与Windows的其他服务与软件的综合使用,并且有许多其他的领域内容直接与ASP的使用与性能相关。本书也探讨了IIS和COM / COM+之间的密切关系,以及ASP如何改变执行外部组件的方式,使其具有更好的性能和可扩展性等问题。
全书共分六部分。第1章到第7章为第一部分,介绍了ASP的基础知识,阐述了ASP3.0的变化、ASP的对象模型、使用ASP脚本和外部组件的所要求的一些基本概念。第8章到第12章为第二部分,包括ActiveX数据对象(ADO)、通用数据访问(UDA)和XML。第13章到第18章为第三部分,介绍了使用ASP建立组件、COM和COM+组件的创建以及COM和COM+如何改变组件的环境等问题。第19章到第23章为第四部分,讨论ASP与 BackOffice类应用软件的结合问题,如Microsoft Message Queue Server、Collaborative Data Objects、Microsoft Exchange 和Active Directory等等。第24章到第27章为第五部分,讨论在企业环境如何使用ASP的问题,探讨了安全性、性能、可扩展性等问题。第28章和附录为第六部分,提供了一个XML驱动的在线报纸示例和大量以表格形式给出的相关资料。
本书的翻译过程由刘福太、张立民负责,参加翻译工作的有刘福太、张立民、金慧琴、梁发麦、金逸峰、李玉光、毛敏、陈敏、韩建立、刘敬、谢欣、王秋菊、刘华章、张力、孙维霞、葛洪强、王翠晶、洪天惠等同志,刘福太、张立民对全书进行了校对和统稿;负责文字录入的有孙标、周学广、鲍华、张有中、彭一庆、李英、王和菊、刘有章、张和、陶玉、李金根、谭伟、张景、蒋永标、苏颖、林宏、李红、李伟、何远、何仝、何华京、刘后、刘兵、陈戈林、周丽萍、黄宁、陈亮、潘静、张建中、孙霞、葛强、王晶、洪是惠、彭庆、李晓英、王菊、刘章、张和力、孙霞、葛强、张健英等同志。
本书的翻译和出版工作得到了张景生主任的热忱指导和帮助,在此谨致诚挚的感谢。
由于计算技术的飞速发展,新的名词、术语大量涌现,我们在翻译过程中尽量沿用流行译法,译文中不当之处,恳请各位专家、学者及广大读者批评指正。

2000年5月

图书目录

译者序
前言
第1章   ASP基础 1
1.1  ASP的起源 1
1.1.1  HTML的起源 2
1.1.2  动态页面的起源 2
1.2  ASP如何与IIS连接 5
1.2.1  关于应用程序的映射 5
1.2.2  处理一个ASP文件 7
1.3  相关设置问题和管理 12
1.3.1  IIS的安装 12
1.3.2  IIS管理工具 15
1.3.3  常见的管理任务 18
1.4  ASP 3.0对象模型概要 22
1.4.1  对象环境概念 22
1.4.2  ASP内置的对象 23
1.5  ASP 3.0中的新特性 24
1.5.1  ASP 3.0新特性概要 24
1.5.2  对ASP 2.0的改进 26
1.5.3  VBScript 5.0中的新特性 28
1.5.4  JScript 5.0中的新特性 30
1.5.5  其他的新特性 31
1.6  小结 32
第2章  请求和响应的处理 33
2.1  客户端和服务器的交流 33
2.2  Request和Response对象 35
2.2.1  Request对象成员的概述 35
2.2.2  Response对象成员概述 36
2.3  使用Form和QueryString集合 38
2.3.1  访问ASP集合的一般技术 38
2.3.2  访问和更新Cookies集合 44
2.3.3  Form和QueryString的差异 46
2.3.4  查看Request和Response对象内容 47
2.3.5  ASP中cookie的使用 52
2.4  使用ServerVariables集合 53
2.4.1  “自引用”页面 54
2.4.2  检测浏览器的版本 55
2.4.3  检测浏览器的语言 56
2.4.4  其他有用的ServerVariables集合的值 57
2.5  其他Request和Response技巧 57
2.5.1  连接、缓冲和页面重定向的管理 58
2.5.2  操作HTTP报头 60
2.5.3  使用客户证书 65
2.5.4  读写二进制数据 67
2.5.5  创建定制的日志消息 67
2.6  小结 69
第3章  ASP应用程序与会话 70
3.1  Web上的状态管理 70
3.1.1  状态的准确定义 70
3.1.2  状态的重要性 71
3.1.3  在Web上创建状态 71
3.2  Web应用程序的定义 73
3.2.1  ASP应用程序的定义 73
3.2.2  ASP会话的定义 81
3.3  ASP的Application对象和Session对象 83
3.3.1  ASP的Application对象成员概述 84
3.3.2  ASP的Session对象成员概述 85
3.3.3  使用Application和Session的事件 86
3.3.4  活动中的ASP Application对象 89
3.3.5  活动中的ASP Session对象 93
3.4  小结 96
第4章  服务器进程和ASP Server对象 98
4.1  动态页中服务器端的处理 98
4.2  服务器端的包含指令 100
4.2.1  不可思议的ASP #include指令 100
4.2.2  服务器端包含指令概要 102
4.2.3  服务器端包含指令的例子 104
4.3  ASP Server对象 109
4.3.1  ASP Server对象成员概述 109
4.3.2  创建其他对象的实例 110
4.3.3  执行其他的网页 114
4.3.4  Server对象的错误处理 118
4.3.5  获取Server对象的路径信息 125
4.3.6  使用Server对象格式化数据 127
4.4  小结 132
第5章  脚本运行期库对象 134
5.1  脚本对象的定义 134
5.1.1  不同类型的对象和组件 134
5.1.2  VBScript和JScript脚本对象 135
5.2  创建对象和组件实例 136
5.2.1  使用Server.CreateObject方法 136
5.2.2  使用<OBJECT>元素 136
5.2.3  Server.CreateObject与<OBJECT>的
区别 138
5.2.4  组件线程模型 138
5.2.5  引用对象类型库 139
5.2.6  在客户端上创建对象实例 140
5.3  Scripting.Dictionary对象 141
5.3.1  创建和使用Dictionary对象 141
5.3.2  Dictionary对象示例 143
5.4  Scripting.FileSystemObject对象 148
5.4.1  FileSystemObject对象成员概要 149
5.4.2  使用驱动器 151
5.5  Scripting.TextStream对象 161
5.5.1  创建TextStream对象的方法 161
5.5.2  TextStream对象成员概要 163
5.5.3  TextStream对象举例 165
5.6  小结 168
第6章  活动服务器组件 169
6.1  脚本对象与服务器组件的比较 169
6.2  ASP/IIS可安装组件 171
6.2.1  使用示例页面 172
6.2.2  Content Linking组件 173
6.2.3  Ad Rotator组件 177
6.2.4  Counters组件 182
6.2.5  Browser Capabilities组件 184
6.2.6  Content Rotator组件 188
6.2.7  Page Counter组件 190
6.2.8  Permission Checker组件 191
6.2.9  MyInfo 组件 194
6.2.10  Tools组件 195
6.2.11  Logging Utility组件 200
6.3  第三方服务器组件 204
6.3.1  BrowserHawk组件 204
6.3.2  SA-FileUp组件 206
6.3.3  RegEx注册表访问组件 207
6.4  小结 209
第7章  调试和错误处理 210
7.1  错误的种类 211
7.1.1  语法或“编译”错误 211
7.1.2  语义或“运行期”错误 215
7.2  各种运行期错误 218
7.2.1  逻辑错误 219
7.2.2  脚本运行期错误 220
7.2.3  ASP和SSI的运行期错误 221
7.2.4  客户端脚本错误 222
7.3  防止错误 224
7.4  处理错误 229
7.4.1  ASP缺省错误处理器 229
7.4.2  VBScript错误处理 230
7.4.3  JScript错误处理 232
7.4.4  使用IIS错误页面 232
7.5  程序调试—发现及处理错误 238
7.5.1  常规调试技术 238
7.5.2  Microsoft Script Debugger 239
7.5.3  获得ASP的帮助和支持 242
7.6  小结 243
第8章  ADO基础 244
8.1  ADO的定义 244
8.1.1  OLE DB和ADO的体系结构 245
8.1.2  消费者与提供者 246
8.1.3  提供者和驱动程序 247
8.2  ADO 2.5对象模型 248
8.2.1  Connection对象 248
8.2.2  Command对象 249
8.2.3  Recordset对象 249
8.2.4  Record对象 249
8.2.5  Stream对象 250
8.2.6  集合 250
8.2.7  ADO常数 252
8.3  连接到数据存储 252
8.3.1  连接字符串 253
8.3.2  使用包含文件 256
8.3.3  使用连接状态 256
8.3.4  连接语法 257
8.3.5  连接的例子 257
8.3.6  连接缓冲池 257
8.4  记录集 258
8.4.1  光标 258
8.4.2  锁定 260
8.4.3  创建记录集 261
8.4.4  过滤记录集 265
8.4.5  查找记录 266
8.4.6  修改记录 267
8.5  管理错误 269
8.5.1  Errors集合 269
8.5.2  ASP页面中的ADO错误 270
8.6  小结 272
第9章  连接、命令和过程 273
9.1  Connection对象 273
9.1.1  返回一个记录集 273
9.1.2  操作命令 274
9.2  Command对象 274
9.2.1  返回记录集 274
9.2.2  操作命令 275
9.2.3  存储过程 276
9.3  优化 289
9.3.1  常用的ADO技巧 289
9.3.2  对象变量 289
9.3.3  高速缓存大小 290
9.3.4  数据库设计 290
9.3.5  数据高速缓存 291
9.4  数据整形 293
9.4.1  使用数据整形 294
9.4.2  性能 297
9.5  小结 298
第10章  ASP与客户端数据 299
10.1  断开连接的记录集 299
10.2  远程数据服务 300
10.2.1  RDS服务器组件 300
10.2.2  RDS客户组件 301
10.2.3  支持RDS的浏览器 301
10.2.4  数据源对象 301
10.2.5  数据绑定 308
10.2.6  更新数据 316
10.3  在服务器和客户之间传输数据 319
10.3.1  基于服务器的组件 319
10.3.2  DataSpace对象 320
10.3.3  使用服务器端组件的优点 322
10.3.4  注册服务器端组件 322
10.3.5  自定义处理器 323
10.4  记录集分页 326
10.4.1  利用ASP页面分页记录集 327
10.4.2  利用ADO分页 330
10.4.3  利用SQL Server完成记录集分页 333
10.4.4  数据分页小结 336
10.5  使用数据库中的图像 337
10.6  小结 338
第11章  使用XML数据 339
11.1  XML的定义 339
11.1.1  XML和HTML的差别 340
11.1.2  标记和元素 343
11.1.3  模式和文档类型定义 346
11.1.4  名称空间 347
11.1.5  文档对象模型 348
11.2  ADO和IE5中的XML 354
11.2.1  存储为XML形式的ADO记录集 354
11.2.2  ADO记录集名称空间 355
11.2.3  ADO记录集模式 355
11.2.4  IE数据岛和绑定 358
11.2.5  以XML数据格式保存记录集 361
11.2.6  打开记录集 365
11.3  用XSL来设计XML 367
11.4  相关的领域 371
11.5  用于SQL Server的XML技术预览 372
11.6  小结 373
第12章  通用数据访问 375
12.1  UDA的构想 375
12.2  OLE DB提供者 376
12.2.1  Indexing Service 376
12.2.2  活动目录 383
12.2.3  Exchange Server 386
12.2.4  定制的提供者 386
12.3  半结构化的数据 389
12.3.1  Record对象 390
12.3.2  Internet 发布 390
12.3.3  WebDAV 401
12.4  企业数据 401
12.4.1  Access和SQL Server二者取一 402
12.4.2  SNA Server和传统数据访问 404
12.5  企业中的ASP 405
12.6  小结 407
第13章  组件和网络应用程序结构 408
13.1  分布式应用程序的结构 408
13.1.1  分层应用程序 408
13.1.2  Windows DNA 410
13.1.3  Windows DNA服务 411
13.1.4  网络结构 413
13.2  组件 415
13.2.1  组件定义 415
13.2.2  COM和COM+ 415
13.2.3  组件服务 416
13.2.4  以数据为中心的组件 417
13.2.5  业务组件 417
13.2.6  用户界面组件 418
13.3  组件应用程序设计 418
13.3.1  转换到组件 419
13.3.2  应用程序设计 419
13.3.3  设计网络组件 420
13.3.4  组件设计 422
13.3.5  组件集成 423
13.3.6  建立组件 424
13.4  应用程序设计范例的研究 425
13.4.1  明确问题 425
13.4.2  应用程序的设计 426
13.4.3  设计权衡 430
13.4.4  设计小结 431
13.5  小结 432
第14章  COM、COM+和ASP 433
14.1  COM的内容 433
14.1.1  COM无处不在 434
14.1.2  COM+的三个方面 434
14.1.3  COM开发工具 436
14.2  接口 437
14.2.1  组件 438
14.2.2  缺省接口 438
14.2.3  GUID—实体的确定名称 439
14.2.4  接口的详细内容 439
14.2.5  IUnknown接口 442
14.2.6  使用IDispatch—后期绑定 442
14.2.7  组件信息的中央存储库 444
14.3  COM+运行期的变化 446
14.3.1  配置的和非配置的组件 447
14.3.2  COM+类别 447
14.4  创建一个ASP  COM组件 447
14.4.1  组件的接口 449
14.4.2  创建组件 449
14.5  小结 457
第15章  COM+应用程序 458
15.1  微软组件服务(COM+) 458
15.1.1  拦截原理 459
15.1.2  COM+结构 461
15.1.3  组件/对象的生存期和状态 464
15.2  单元和线程模型 467
15.2.1  线程 467
15.2.2  单元 468
15.2.3  线程模型的属性 470
15.2.4  线程模型和范围 472
15.3  COM+应用程序 476
15.3.1  ObjectContext接口 476
15.3.2  Visual Basic COM+组件 479
15.4  组件服务 487
15.5  组件的调试 494
15.6  小结 496
第16章  ASP脚本组件 497
16.1  使用WSC的环境 497
16.2  一个Windows脚本组件 498
16.2.1  发展历史 498
16.2.2  HelloWorld WSC 499
16.3  WSC的结构 499
16.3.1  描述层 500
16.3.2  脚本层 503
16.3.3  运行期层 504
16.4  可用的接口 504
16.5  编写一个ASP脚本组件 505
16.5.1  AspTable组件 506
16.5.2  使用AspTable对象 511
16.6  ASP脚本组件的特点 513
16.6.1  选择正确的工具 513
16.6.2  脚本组件与VBScript类的比较 513
16.7  小结 514
第17章  用C++建立ASP组件 515
17.1  C++语言 515
17.1.1  C++简史 515
17.1.2  使用C++的原因 516
17.1.3  不使用C++的原因 517
17.1.4  把ASP技巧转到C++上 517
17.2  VC++库 518
17.2.1  微软基础类库 518
17.2.2  活动模板库 519
17.2.3  标准模板库 519
17.3  建立一个C++服务器组件 521
17.3.1  问题 522
17.3.2  设计 522
17.3.3  实现 522
17.3.4  测试 531
17.3.5  错误处理 533
17.3.6  调试 535
17.4  小结 537
第18章  对C++组件的进一步讨论 538
18.1  与ASP进行接口 538
18.2  与COM+进行接口 543
18.2.1  IObjectContext的事务处理 546
18.2.2  IObjectControl的对象缓冲 547
18.3  数据访问 547
18.3.1  通过C++使用ADO 548
18.3.2  OLE DB消费者模板 553
18.3.3  使用ADO,还是使用OLE DB消费者
模板 557
18.4  小结 557
第19章  ASP和事务性Web应用程序 558
19.1  事务处理的定义 558
19.1.1  保持应用程序的完整性 558
19.1.2  ACID属性 559
19.2  分布式事务 560
19.3  事务性COM+应用程序 562
19.3.1  Transaction Support属性 562
19.3.2  活动与同步 564
19.3.3  事务的生存期 567
19.3.4  事务访问自定义资源 573
19.4  COM+事务和IIS 574
19.4.1  事务性ASP 574
19.4.2  事务性ASP中的ObjectContext
对象 575
19.4.3  事务事件 576
19.5  用ASP和COM+进行联机订购 577
19.5.1  业务需要 577
19.5.2  设计 577
19.5.3  实现 578
19.5.4  程序验证 585
19.6  小结 586
第20章  ASP和消息队列服务器 587
20.1  消息排队的定义 587
20.1.1  MSMQ的定义 588
20.1.2  使用MSMQ和ASP的原因 589
20.2  MSMQ结构 591
20.2.1  服务器类型 591
20.2.2  客户类型 592
20.2.3  站点布局图 593
20.2.4  投递选项 593
20.3  管理MSMQ 594
20.3.1  增加队列 594
20.3.2  消息队列的属性 596
20.3.3  消息属性 597
20.4  MSMQ对象模型 599
20.4.1  MSMQApplication对象 600
20.4.2  MSMQQuery对象 600
20.4.3  MSMQQueueInfos集合 601
20.4.4  MSMQQueueInfo对象 601
20.4.5  MSMQQueue对象 602
20.4.6  MSMQMessage对象 603
20.4.7  MSMQEvent对象 605
20.4.8  MSMQTransaction对象 605
20.4.9  MSMQTransactionDispenser对象 605
20.4.10  MSMQCoordinatedTransaction Dispenser对象 606
20.4.11  访问MSMQ的其他方式 606
20.5  用于MSMQ的MS DTC事务 606
20.6  高级MSMQ消息 606
20.7  COM+队列化组件 609
20.8  扩展联机订货的示例 610
20.8.1  在组件中添加MSMQ 610
20.8.2  处理队列化订单 612
20.9  小结 614
第21章  ADSI和AD介绍 615
21.1  ADSI的用途 615
21.2  必需的软件 616
21.3  AD的内部结构 617
21.3.1  目录里的对象和属性 617
21.3.2  对象的类 618
21.3.3  容器和叶 619
21.3.4  模式 619
21.3.5  继承 620
21.4  目录的特征 622
21.4.1  优化查找 622
21.4.2  查找功能 622
21.4.3  开放性 622
21.4.4  事务处理 622
21.4.5  复制 623
21.5  常见目录 623
21.5.1  Netscape目录服务器 623
21.5.2  IIS元数据库 623
21.5.3  Exchange Server目录和站点服务器
      成员目录 623
21.5.4  Netware目录服务 623
21.5.5  WinNT 623
21.6  ADSI的适用范围 624
21.7  LDAP的适用范围 625
21.8  绑定到一个ADSI对象 626
21.8.1  ADSI对象和Directory对象 626
21.8.2  查看ADSI对象的属性 627
21.9  浏览目录:枚举容器的所有子对象 628
21.10  使用模式定义的属性 631
21.11  Get和GetEx 634
21.12  PropertyBrowseEx示例 634
21.13  AD与WinNT提供者比较 636
21.14  属性缓存 638
21.15  设置属性的值 639
21.16  目录的验证 639
21.17  查找 641
21.17.1  用以查找ADSI目录的命令字符串 644
21.17.2  查找过滤器 645
21.18  小结 646
第22章  ASP和用于NT服务器的CDO 647
22.1  CDO是什么 647
22.2  使用CDO的原因 647
22.2.1  NT服务器下的CDO 648
22.2.2  CDO与CDONTS的比较 648
22.2.3  CDO for Windows 2000 649
22.3  CDONTS库 649
22.3.1  引用类型库 650
22.3.2  NewMail对象 651
22.3.3  其他的CDONTS对象 658
22.3.4  设置SMTP Service 666
22.3.5  SMTP Service配置 667
22.4  在ASP应用程序中使用CDONTS 670
22.4.1  简单邮箱应用程序 671
22.4.2  Inbox应用程序 676
22.5  小结 683
第23章  ASP、CDO与Exchange Server 684
23.1  CDO库 684
23.1.1  通用/共享对象 684
23.1.2  Session对象 695
23.1.3  文件夹 697
23.1.4  地址列表 698
23.1.5  信息存储 699
23.1.6  消息 699
23.1.7  通用属性 704
23.2  邮件客户端应用程序 705
23.2.1  概述 705
23.2.2  服务器配置 705
23.2.3  类型库 707
23.2.4  Login.asp 707
23.2.5  FrameSet.asp 708
23.2.6  FolderList.asp 709
23.2.7  MessageList.asp 712
23.2.8  ViewMessage.asp 715
23.2.9  SendMessage.asp 719
23.2.10  SendMail.asp 722
23.2.11  Logout.asp 725
23.3  小结 725
第24章  服务器防护 726
24.1  安全的定义 726
24.1.1  Internet上的安全问题 726
24.1.2  安全策略 728
24.2  Windows 2000的防护 730
24.2.1  磁盘格式 730
24.2.2  Window 2000安全检查列表 730
24.2.3  防火墙和代理服务器 737
24.3  IIS 5.0的防护 739
24.3.1  IIS的安全配置 739
24.3.2  验证方法 742
24.4  SQL Server 7.0和ODBC的安全 744
24.4.1  保护sa帐号 744
24.4.2  为数据库访问建立替代帐号 744
24.5  建立自己的ASP安全系统 746
24.6  小结 755
第25章  证书的使用 756
25.1  安全性、一致性和可靠性 756
25.2  证书与证书机构 759
25.3  从证书机构获取证书 762
25.4  使用证书 768
25.4.1  使用服务器证书 768
25.4.2  使用个人证书 768
25.4.3  使用软件发行者证书 769
25.4.4  客户证书映射 769
25.4.5  证书的生存期 772
25.5  管理证书 772
25.5.1  证书存储 772
25.5.2  IIS证书管理 774
25.5.3  IE证书管理 775
25.5.4  Outlook Express证书管理 776
25.6  证书与ASP 776
25.7  成为自己的证书机构 777
25.7.1  Certificate Services 778
25.7.2  建立证书机构 779
25.7.3  管理证书机构 779
25.7.4  与证书机构的交互 780
25.8  小结 781
第26章  优化ASP的性能 782
26.1  衡量工作性能的标准 782
26.1.1  吞吐量 782
26.1.2  响应时间 783
26.1.3  衡量性能的其他指标 784
26.2  改善服务器的硬件性能 786
26.2.1  内存 786
26.2.2  硬盘 787
26.2.3  网络带宽 787
26.2.4  CPU 787
26.2.5  更多的服务器 787
26.3  性能的调整 787
26.3.1  解决性能问题 787
26.3.2  强度工具 788
26.3.3  脚本优化 789
26.3.4  会话和应用程序状态 789
26.3.5  安全套接字层 793
26.3.6  进程隔离 793
26.3.7  缓存技术和字典 794
26.3.8  数据库性能 795
26.3.9  真正充足的时间:MSMQ 796
26.3.10  脚本与组件的比较 796
26.3.11  多处理器的可扩展性 798
26.3.12  线程闸门 800
26.3.13  设置元数据库 801
26.3.14  性能计数器 802
26.4  各种小技巧 805
26.4.1  Stm的重命名技巧 805
26.4.2  避免嵌套的包含 806
26.4.3  不使用非脚本映射的文件扩展名 806
26.4.4  关闭脚本调试器 806
26.4.5  最小化脚本块转换 806
26.4.6  不要混用脚本引擎 807
26.4.7  在“费时”操作前使用Response.Is Client Connected 807
26.4.8  使用<OBJECT>标记 808
26.4.9  不使用OnStartPage和OnEndPage 808
26.4.10  发挥客户端的作用 808
26.5  小结 808
第27章  建立多服务器网站 810
27.1  多服务器网站 810
27.1.1  Web阵的不足 811
27.1.2  Web阵基础 812
27.2  负载平衡模式 813
27.2.1  DNS循环复用法 813
27.2.2  硬件负载平衡 814
27.2.3  TCP/IP Network Load Balancing 817
27.2.4  复合方式 819
27.2.5  High Availability Clustering Service 820
27.2.6  COM+Dynamic Load Balancing 822
27.3  状态管理 824
27.3.1  不管理状态 824
27.3.2  客户端存储 824
27.3.3  亲和性 824
27.3.4  在一个中心服务器上存储状态 826
27.4  安全 826
27.5  小结 827
第28章  XML驱动的报纸实例 829
28.1  报纸的剖析 829
28.1.1  作者写稿 831
28.1.2  编辑修改 832
28.1.3  读者阅读 834
28.1.4  结构要求 835
28.2  网站的大脑:settings.xml 835
28.2.1  <Specifications>元素 836
28.2.2  <colors>元素 836
28.2.3  <navigation>元素 836
28.2.4  准备global.asa 837
28.2.5  插入导航 838
28.2.6  <content>和<glossary>元素 840
28.3  网站的躯干:headlines.asp 841
28.3.1  ShowHeadlines过程 842
28.3.2  ShowBlurbs过程 843
28.3.3  ShowBriefs过程 844
28.3.4  ShowStory过程 846
28.3.5  使用ShowStory过程 849
28.3.6  主页 852
28.4  管理工具 854
28.4.1  setting_stories.asp 854
28.4.2  setting_glossary.asp 858
28.4.3  关于admin文件夹的其他内容 861
28.5  系统集成 861
28.6  小结 864
附录A  ASP 3.0的对象模型 865
附录B  脚本运行期库对象 871
附录C  微软服务器组件 877
附录D  错误代码 881
附录E  ADO 2.5对象模型 893
附录F  ADO 2.5常量 902
附录G  有用的资料 920
附录H  p2p.wrox.com 926

教学资源推荐
作者: Harvey M.Deitel,Paul J.Deitel
作者: 凌云 谢满德 陈志贤 吴海燕 编著
作者: Jie Wu
作者: 顾元刚
参考读物推荐
作者: 邱郁惠
作者: (澳)David Reilly,Michael Reilly
作者: 刘刚 舒戈 著