ASP基础教程:ActiveX 组件


  当你用 ASP 编写服务器端 利用程序时,必须 依附 ActiveX 组件来 壮大 Web 利用程序的 性能,譬如:你需求衔接数据库,对数据库进行在线操作等等,本文从本篇开始将陆续给大家介绍 ASP ActiveX 组件的 使用 步骤 。

  从今日开始我们将正式学习 ASP 的 精粹 部分 --ActiveX 组件 。事实上,当你用 ASP 编写服务器端 利用程序时,必须 依附 ActiveX 组件来 壮大 Web 利用程序的 性能,譬如:你需求衔接数据库,对数据库进行在线操作或者对 WEB 服务器上的文件系统进行操作,亦或你需求一个 WEB 广告 交换程序,全部这 所有你都必须通过调用 ASP 内建的 ActiveX 组件或自己编写所需的组件来 实现 。

  那么, 毕竟什么是 ActiveX 组件呢?它又是如何运作的呢?其实 ActiveX 组件是一个存在于 WEB 服务器上的文件,该文件包括执行某项或一组 使命的代码,组件 可以执行公用 使命,这样就 毋庸自己去 缔造执行这些 使命的代码 。例如,股票行情收报机组件 可以在 Web 页上显示最新的股票售价 。当你在 WEB 服务器上安装完 ASP 环境后,就 可以直接 使用它自带的几个常用组件,如 Database Access 组件 。固然你也 可以从第三方开发者处 获得可选的组件 , 也 可以编写自己的组件 。你 可以利用组件作为脚本和基于 Web 利用程序的 根本 构造块, 惟独晓得如何 拜访组件提供的对象, 即便你是位编写脚本的新手,也 可以在不了解组件运作 模式的状况下编写 ASP 程序 。言而总之, ActiveX 组件使您不用学习复杂的编程就 可以写出 壮大的 WEB 服务器端脚本 。假如您是位 Web 利用程序的开发者, 可以 使用任何 支撑组件对象模型(COM)的语言来编写组件,如, C、 C++、 Java 或 Visual Basic 。假如你 相熟 COM 编程, ActiveX 组件便是 Automation 服务器 。然而要在 Web 服务器上运行, ActiveX 组件不能有图形消费者接口元素,如 Visual Basic 的 MsgBox 函数 。组件是 可以 反复 使用的 。在 Web 服务器上安装了组件后,就 可以从 ASP 脚本、 ISAPI 利用程序、服务器上的 其余组件或由另一种 COM 兼容语言编写的程序中调用该组件 。

  那么我们在 ASP 中应该如何调用组件呢?如前所述,组件是包括在动态链接库 (.dll) 或可执行文件 (.exe) 中的可执行代码 。组件 可以提供一个或多个对象以及对象的 步骤和属性 。要 使用组件提供的对象,我们首先要 缔造对象的实例并将这个新的实例 调配变量名 。 使用 ASP 的 Server.CreateObject 步骤 可以 缔造对象的实例 。接着, 使用脚本语言的变量 调配指令为对象实例命名 。 缔造对象实例时,必须提供实例的注册名称“PROGID” 。如下要 缔造一个 Ad Rotator 对象的实例 :

  <% Set MyAds = Server.CreateObject("MSWC.AdRotator") %>

  我们必须 使用 ASP 的 Server.CreateObject 步骤来 缔造对象实例,否者 ASP 无奈跟踪脚本语言中对象的 使用 。

   使用 HTML< OBJECT>标签同样 可以 缔造对象实例,但必须为 RUNAT 属性提供服务器值,同时也要为将在脚本语言中 使用的变量名提供 ID 属性组 。 使用注册名 (PROGID) 或注册号码 (CLSID) 可以 鉴别该对象 。下面的例子 使用注册名 (PROGID) 缔造 Ad Rotator 对象的实例:

   <OBJECT RUNAT=Server ID=MyAd PROGID="MSWC.AdRotator">< /OBJECT>

  下面列出了 ASP 可安装的常用组件 。

  

  Ad Rotator 缔造一个 AdRotator对象,该对象可按指定 方案在同一页上自动轮换显示广告 。

  Browser Capabilities 缔造一个 BrowserType对象,该对象决定 拜访 Web 站点的每个阅读器的性能、类型及版本 。

  Database Access 提供用 ActiveX Data Objects (ADO) 对数据库的 拜访 。

  Content Linking 缔造一个 NextLink 对象,该对象可生成 Web 页内容列表,并象书一样将各页顺续衔接 。

  File Access 组件提供文件的输入输出 拜访 。

  Collaboration Data Objects for NTS 组件 可以 快捷、简便的在 Web 页上增加收发邮件 性能 。该组件只 实用于 Internet Information Server for Windows NT? Server  。

  MyInfo 缔造一个 MyInfo对象,该对象追踪个人信息,例如站点治理员的姓名、地址及显示 取舍 。

  Counters 缔造一个 Counters对象,该对象 可以 缔造、 保留、增加或检索任意数量的独立计数器 。

  Content Rotator 自动翻转 Web 主页上的 HTML 内容字符串 。

  Page Counter 记录并显示 Web 页被 打开的次数 。

  现在 WEB 广告 几乎充斥了整个网络,那么 毕竟如何在你自己的网站上 构建一个 相符广告领域 标准 性能的广告系统呢?答案是利用 ASP AD Rotator 组件 ! 它同意在每次 拜访 ASP 页面时在页面上显示新的广告,而且提供了很强的 性能,例如 : 旋转显示在页面上的广告图象的 威力、跟踪特定广告显示次数的 威力以及跟踪客户端在广告上单击次数的 威力 。 AD Rotator 组件的工作是通过读取 AD Rotator 方案文件来 实现的,该文件包括与要显示的图象文件的地点有关的信息以及每个图象的不同属性,下面便是一个 标准的 AD Rotator 方案文件 :

  ---ADROT.TXT---

  REDIRECT /scripts/adredir.asp

  WIDTH 440

  HEIGHT 60

  BORDER 1

  *

  ads/homepage/chinabyte.gif

  http://www.chinabyte.com/

  Check out the IT site

  2

  ads/homepage/gamichlg.gif

  -

  Sponsored by Flyteworks

  3

  ads/homepage/asp.gif

  http:// www.aspallian.com/

  Good ASP site on net

  3

  ads/homepage/spranklg.gif

  http://www.clocktower.com/

  The #1 Sports site on the net

  2

  该段代码的前四行包括广告的全局设置 。 Redirect 行指出广告将成为其热衔接的 URL, 留神这里不是为广告 本身指定的 URL,而是将调用的之间页面的 URL,这样我们就 可以通过这个之间页面跟踪单击广告的次数 。该 Redirect URL 将与包括两个参数的 查问字符串一同调用 : 特定广告主页的 URL 和图象文件的 URL 。星号上面的其余三行 方便 注明如何显示广告 。前两行以像素为单位指定网页上广告的宽度和高度,默许值是 440 和 60 个像素 。后一行,同样是以像素为单位指定广告 四处超链接的边框宽度 , 默许值是 1 个像素 。假如将该参数设置为 0,则将没有边框 。

  星号下面的行以每四行为一个单位 形容每个广告的细节 。在此例中共有 16 行, 形容四个广告 。每个广告的 形容包括图象文件的 URL、广告的主页 URL(假如广告客户没有主页,请在该行写上一个连字符“-”,指出该广告没有链接)和图象的 代替文字以及指定该页与 其余页交替显示频率的数值 。

  图象是重定向页面的热衔接,它在 查问字符串中设置了两个值, url=/scripts/adredir.asp 以及 image=/ads/homepage/asp.gif 。要确定广告显示的频率, 可以将 方案文件中全部广告的权值相加,在该例中总数是 10,那么 aspallian 的广告权值为 3,这 象征着 AdRotator 组件每调用十次,它则显示 3 次 。

  重定向文件是消费者 缔造的文件 。它通常包括用来解析由 AdRotator 对象发送的 查问字符串的脚本并将消费者重定向到与消费者所单击的广告所 有关的 URL 。消费者也 可以将脚本包括进重定向文件中,以便统计单击某一特定广告的消费者的数目并将这一信息 保留到服务器上的某一文件中 。增加计数器和重定向消费者是通过下面两行 ASP 脚 原来实现的 :

  < %

  Counter.Increment(request.querystring("url"))

  response.redirect(request.querystring("url"))

  %>

  

  现在我们看一下 Ad Rotator 组件是如何在页面中 使用的,首先必须 使用 Server.CreateObject 步骤实例化 Ad Rotator 对象 。 Ad Rotator 组件的 PROGID 属性是 MSWC.AdRotator 。 完全的代码如下 :

  < % Set ad = Server.CreateObject("MSWC.AdRotator") %>

  < %= ad.GetAdvertisement("/ads/adrot.txt") %>

  Ad Rotator 组件 支撑的唯一 步骤是 GetAdvertisement,它惟独一个参数 :AdRotator 方案文件的名称 。 留神指向文件的路径是从目前 虚构目录的 绝对路径,物理路径是不同意的 。 GetAdvertisement 步骤从 Rotator 方案文件中猎取下一个 方案广告的 详尽 注明并将其 格局化为 HTML 格局 。下面的 HTML 由 GetAdvertisement 步骤生成且被增加到网页的输出中,以便显示 Rotator 方案文件中的下一个广告 。

  < A HREF="http://www.chinabyte.com/scripts/adredir.asp?http://www.aspallian.com/">< IMG

  SRC="http://edu.ITbulo.com/UploadFiles_1485/200512/20051231002027746.gif" ALT="Good ASP site on net" WIDTH=440 HEIGHT=60 BORDER=1>< /A>

   使用 AdRotator 组件我们 可以直接通过对象属性而不是 方案文件中的设置来直接操纵某些广告 特点,其可用属性如下 :

  Border 指定广告边框的大小 。

  Clickable 指定广告是不是为超链接 。

  TargetFrame 指定显示广告的框架的名称 。

  < %

  Set ad = Server.CreateObject("MSWC.AdRotator")

  ad.Border = 0

  ad.Clickable = true

  ad.TargetFrame = AdFrame

  ad.GetAdvertisement("/ads/adrot.txt")

  %>

  通过上面的学习,相信你已经 可以娴熟 使用 ASP 的内建 AdRotator 组件为自己的网站 构建一个 标准的广告显示程序了 。你是不是难以相信 所有竟是如此的 方便?其实真正能令你震惊的还在后头呢,敬请关注下一篇 ASP ActiveX 组件大揭密!