Asp组件中级入门与精通系列之一

初级教程写了七篇了,肯定还有一些初级的东西需要写,我会慢慢的进行补充

中级教程的内容:

这可能也是大家最关心的 : 如:数据库的操作与封装。 Asp 内置对象的使用。这些部分我会花费较长的篇幅来说明 , 这一部分内容需要你能够比较熟练的使用 ADO 操作数据库并且对 asp 的 5 大对象比较熟悉。

我们看一下网上比较流传的一些资料:

众所周知, ASP 内置了 Response 、 Request 、 Server 、 Session 、 Application 五个对象,其实这五个内置对象正是 IIS 控制台初始化的五个 ActiveX DLL 组件,既然 IIS 可以初始化这五个组件用于 ASP 中,我们当然也可以直接在我们的 ActiveX DLL 中引用这些组件来实现我们的编程,也就是说我们可以在 VB 应用程序中通过引用这些组件来实现访问 ASP 内置对象的功能。

只要你安装了 PWS4 或者 IIS4 以上的 WEB 服务器,你就拥有了一个名称叫做 “Microsoft Active Server Pages Object” 的对象库,我们可以在 VB 的 ActiveX DLL 应用中引用这个对象库,通过引用这个对象库,我们就获得了一个对象(类): ScriptingContext ,这个对象也正是我们整个文章探讨的核心对象。对象库内的关系如下:

对象库 类 类成员

ASPTypeLibrary ScriptingContext Application

Request

Response

Session

Server

通过上面的关系图,我们就可以很容易理解类 ScriptingContent 。

下面我们来看一个具体的例子吧:

打开 vb6, 新建 Activex Dll 工程。工程名修改为 fCom, 类名修改为 fZ1
引用 “Microsoft Active Server Pages Object” 对象库。
创建两个组件事件: OnStartPage 以及 OnEndPage
在事件 OnStartPage 中创建类 ScriptingContent 的一个引用。
实例化类 ScriptingContent 。

代码如下:
Option Explicit

' 对象的声明

Dim myResponse As Response

Dim myRequest As Request

Dim myApplication As Application

Dim myServer As Server

Dim mySession As Session

' 当组件被创建的时候会触发这个事件

Public Sub OnStartPage(myScriptingContent As ScriptingContext)

' 进行对象的实例化

Set myResponse = myScriptingContent.Response

Set myRequest = myScriptingContent.Request

Set myServer = myScriptingContent.Server

Set myApplication = myScriptingContent.Application

Set mySession = myScriptingContent.Session

myResponse.Write "ActiveX DLL 组件已经被创建了 !"

End Sub

' 当组件被销毁的时候触发这个事件

Public Sub OnEndPage()

myResponse.Write "ActiveX DLL 组件已经被销毁 !"

' 销毁对象

Set myResponse = Nothing

Set myRequest = Nothing

Set myServer = Nothing

Set myApplication = Nothing

Set mySession = Nothing

End Sub

' 定义我们自己的一个组件方法

Public Sub HelloWorld()

myResponse.Write " 这是用 asp 内置对象写的 "

End Sub

测试

打开 visual interdev6.0, 生成一个 asp 文件

1@ Language=VBScript 
1<html>
2<body>

set obj=server.CreateObject("fCom.fZ1")

call obj.HelloWorld()

1
2</body>
3</html>

配置好虚拟目录,在 ie 中执行此 asp 文件,得到结果如下 :

ActiveX DLL 组件已经被创建了 ! 这是用 asp 内置对象写的 ActiveX DLL 组件已经被销毁 !

Published At
Categories with Web编程
Tagged with
comments powered by Disqus