我们先来看看 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 的用法就讲到这里。