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

我们先来看看 Application 对象

以前使用 Application 对象常常用于计数器和数据库的连接串

我们以计数器为例:

先看 global.asa 文件,这个比较简单

1<script language="vbscript" runat="server">
2
3sub Application_onstart 
4
5Application("Counter")=0 
6
7end sub 
8
9</script>

然后

打开 vb6, 新建 Activex Dll 工程。工程名修改为 fCom, 类名修改为 fZ2
引用 “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

End Sub

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

Public Sub OnEndPage()

' 销毁对象

Set myResponse = Nothing

Set myRequest = Nothing

Set myServer = Nothing

Set myApplication = Nothing

Set mySession = Nothing

End Sub

‘ 可以看到,把以前 asp 中写的搬到了 vb 中,写法是一样的

Public Sub ShowCounter()

Dim intcounter As Long

myApplication.Lock

intcounter = myApplication("counter")

intcounter = intcounter + 1

myApplication("counter") = intcounter

myApplication.UnLock

myResponse.Write CStr(intcounter)

End Sub

测试

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

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

dim obj

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

obj.ShowCounter()

1
2</body>
3</html>

配置好虚拟目录,需要将 global.asa 文件放到根目录下 , 在 ie 中执行此 asp 文件,刷新页面,就可以看到一个不断变化的数字。

Application 的用法就讲到这里。

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