ASP 3.0高级编程(二十三)

2016-01-29 19:11 0 1 收藏

ASP 3.0高级编程(二十三),ASP 3.0高级编程(二十三)

【 tulaoshi.com - ASP 】

  第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缺省安装时未注册)。
1.  CreateObject方法
一般说来,可以在一个ASP页面中使用ASP内置的Server对象的CreateObject方法创建一个对象,例如:
Set objThis = Server.CreateObject("this.object")                ' in VBScript
或:
var objThis = Server.CreateObject('this.object');                // in JScript
这样就在变量objThis中创建了该对象的引用,然后可以在脚本中使用该对象;换句话说,可以在代码中根据需要控制其属性及调用其方法。
2.  使用<OBJECT元素
同样可以使用常规的<OBJECT元素创建一个对象该方法同样适用于在Web浏览器页面中创建对象。ASP支持HTML<OBJECT元素的特殊实现,而且我们可以使用这一方法在页面中放置一个对象。要在普通的.asp文件中定义一个组件或脚本对象的实例,使用下面语句:
<OBJECT RUNAT="SERVER" SCOPE="PAGE" ID="objThis"
              CLASSID="CLSID:OACE4881-8305-11CF-9427-444553540000"
</OBJECT
我们使用SCOPE属性来设定对象的范围,选项是“SESSION”、“APPLICATION”和“PAGE”。如果在普通的.asp文件中使用<OBJECT元素,那么必须同时使用“PAGE”属性,并忽略SCOPE属性,因为创建的对象只能在它被实例化的页面中使用。如果在global.asa文件中使用<OBJECT元素,则所创建的对象可在当前会话或整个应用程序中使用,因此SCOPE属性可设置为“SESSION”和“APPLICATION”。
3.  检测对象实例的存在
经常出现的错误是企图创建一个未安装(或未注册)的对象的实例,或者在CreateObject方法或<OBJECT元素中使用错误的对象ProgID。缺省状态下,ASP会出现错误并停止页面的执行。
给页面添加

来源:https://www.tulaoshi.com/n/20160129/1508705.html

延伸阅读
标签: ASP
  5.5.1 创建TextStream对象的方法        有三个常用方法用于创建或打开一个文本文件并返回TextStram对象,如表5-13所示: 表5-13  创建TextStream对象的方法及说明 方 法 说 明 CreateTextFile (filename,overwrite,unicode) 在磁盘上用指定的文件名filename创建一个新文本文件,并返...
标签: ASP
  6.2.10  Tools组件        Tools组件提供了一些有用的方法,可在页面中检查文件是否存在、处理一个HTML窗体、以及产生一个随机整数,还有用于Macintosh计算机的一些方法,还可以检查是否存在某个服务器插件以及检查用户是否是网站的拥有者。 1.  Tools组件的成页 Tools组件提...
标签: ASP
  6.2.11  Logging Utility组件        Logging Utility组件是ASP 3.0的新组件,提供了访问日志文件的方法,这个日志文件是由服务器支持的用于Web和FTP网站的IIS创建的。 1.  Logging Utility组件的成员 Logging Utility组件提供了六种方法,能读取日志文件的内容、把新记录写进...
标签: ASP
  1.    操作HTTP报头 我们已经在几处见到ASP如何创建或修改在响应页面请示时被发送到客户的HTTP报头。在Response对象中有几个属性和方法可帮助我们做到一点。下面是一些报头方法: · 控制缓存和有效期。 · 创建状态和定制的HTTP报头。 · 指定MIME类型或内容类型。 · 添加PICS标签。 接下来将简要地研究每一个方...
标签: ASP
  第3章 ASP应用程序与会话 在前面的章节中介绍了ASP提供的访问一个客户请求和产生响应的方法,本章将讨论ASP的另两个对象。就是Application和 Session对象。这两个对象不是直接地与请求和响应的管理有关,而是更多地与ASP网页运行环境的管理相关。 与建立Web站点或Web应用程序有关的共同问题之一,是使用HTTP协议时没有状态。...

经验教程

417

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部