第6章 活动服务器组件 在前几章中,我们已经研究了两类不同的对象:一类是ASP对象模型的内置部分,另一类是脚本运行期库提供的对象。本章将介绍第三类能用于ASP的对象,取名为活动服务器组件(或者就称为服务器组件)。 这些组件在很多场合下就如同在浏览器或在像Visual Basic编程环境中用于客户端脚本中的传统ActiveX控件一样,但是这些组件可在服务器上运行,而不是一个只能运行在客户机上的对象。 现在的问题是:这些组件来自哪里?其中一部分是由常规的ASP/IIS安装程序提供的,而另一部分可以从Web上免费或有偿获得。本章讨论ASP的各种组件的主要用途,然后介绍可得到的其他组件的几个范例。一旦感觉到使用这些活动服务器组件得心应手,你就会毫不费力将其他供应商产品嵌入到自己的ASP页面中。本章后面有一个第三方组件的列表,本书后面还将介绍如何创建自己的组件。 还有一些用于ASP的组件,但本章不准备讨论。动态Web网站技术的基本用途之一是发布直接从数据库管理系统和其他类型的数据存储获得的信息,这一用途和从数据库或其他数据存储中收集数据和存入数据的需求,促使程序员开发服务器端编程。为了使用ASP完成这些任务,我们可以充分利用称为ActiveX数据对象(ActiveX Data Objects,ADO)库的组件集。由于它涉及的内容很多,很难在本章中阐述清楚,还要考虑的其他的组件,本书从第8章开始讲述相关的内容。 本章要讨论的内容有: · 服务器组件与在ASP中使用的其他对象的区别。 · 简要说明如何实例化对象,并得到服务器组件的引用。 · ASP 3.0和IIS提供的可安装组件,例如AD Rotator、Content Linking、Page Counter和Tools等组件。 · 一些第三方提供的组件。 6.1 脚本对象与服务器组件的比较 前一章已说明了各种脚本对象,这些对象对于ASP/IIS来说都是从脚本运行库(scrrun.dll)中得到的,重要的是不要把这些对象与服务器组件(即本章的主题)混淆一起。 服务器组件通常在其自己的DLL或可执行文件中实现,例如本章将要讨论的“Content Linking”组件,就是由nextlink.dll实现的。一旦在服务器安装和注册这个DLL文件,那么其提供的对象就可以在ASP所支持的任何脚本语言中使用。组件与系统环境的关系如图6-1所示: 图6-1 组件与系统环境的关系 使用组件服务器组件 前一章已经介绍了对象和组件在页面中通用的实例化方法,使用服务器组件和使用脚本运行期库对象的方法完全一致,唯一的区别是,不像脚本对象,服务器组件通常作为单独的DLL文件实现,而且可能要求在使用前先运行一个安装程序,或者手工注册该组件(如果这些组件在ASP缺省安装时未注册)。 |