Test.cls (类实现)
''对象的声明
Dim rp as Response
Dim rq as Request
Dim ap as Application
Dim sr as Server
Dim sn as Session
''当组件被创建的时候会触发这个事件
Public Sub OnStartPage(mysc as ScriptingContent)
''进行对象的实例化
set rp=mysc.Response
set rq=mysc.Request
set sr=mysc.Server
set ap=mysc.Application
set sn=mysc.Session
rp.write "<br>ActiveX DLL组件已经被创建了!<br>"
End Sub
''当组件被销毁的时候触发这个事件
Public Sub OnEndPage()
Rp.write "<br>ActiveX DLL组件已经被销毁!<br>"
''销毁对象
Set rp=nothing
Set rq=nothing
Set sr=nothing
Set ap=nothing
Set sn=nothing
End Sub
''定义我们自己的一个组件方法
Public Sub HelloWorld()
Rp.write "<H1>Hello,World!</H1>"
End Sub
这样,我们就创建可以访问ASP内置对象的ActiveX DLL了。我们命名这个组件项目为first,在VB中间编译这项目成为一个DLL文件first.dll,并且我们在系统中注册这个DLL文件。接下来,我们需要一个简单的几乎没有什么代码的ASP程序来调用这个组件:
test.asp
<html>
<head>
<title>测试ActiveX DLL</title>
</head>
<body>
<%
Dim testme
''创建我们刚才编译成功的组件,一旦创建这个组件,同时会在叶面输出文字“ActiveX DLL组件已经被
''创建了!”
set testme=server.createobject("first.test")
''调用组件的方法
testme.HelloWorld
''注销组件,在注销的同时,会自动在叶面显示“ActiveX DLL组件已经被销毁!”
set testme=nothing
%>
</body>
</html>
通过上面简单的例子,我们可以看到使用ActiveX DLL同样可以实现和ASP同样的功能,并且带来的代码保密和程序运行更加高效的优点。ActiveX DLL和纯ASP有着各自的优点和缺点,只要我们合理的运用这两种技术,比如适当的将商业逻辑封装在ActiveX DLL中,或者在需要保密的地方使用DLL封装技术,一定可以编写出高效快速的WEB应用程序。