认识一下Global.asa 文件

1.作用。
Global.asa 文件的作用主要是用于站点或虚拟目录下程序的数据共享和多线程。
2.内容。在 global.asa 中,你可以声明 Application 事件和 Session 事件,并可以声明一些 Session 范围或者 Application 范围的对象
Global.asa 只能包含下面的内容:
1.Application 事件
2.Session 事件
3.OBJECT 声明
4.TypeLibrary 声明
3.使用。
每一个站点或虚拟目录都可以有一个 global.asa 文件。这个文件一般存放在站点或虚拟目录的根目录下。
例如,假设我们创建了站点 mysite,如果要使 global.asa 对这个站点下的所有 ASP 程序起作用,那么,global.asa 就应该存放在 "/" 下;假设我们在站点根目录下创建了一个虚拟目录 demo,可以在 demo 下放一个 global.asa,从而为这个虚拟目录下的ASP程序特别指定一个 global.asa。
4.代码示例。
下面是一个用 global.asa内的Application和Session对象事件实现的在线人数统计。

<SCRIPT LANGUAGE="VBScript" RUNAT="Server"> 
Sub Application_OnStart
Application("ActiveUsers") = 0
End Sub 
Sub Session_OnStart
Session.Timeout = 20 
Application.Lock 
Application("ActiveUsers") = Application("ActiveUsers") + 1 
Application.UnLock 
End Sub 
Sub Session_OnEnd
Application.Lock 
Application("ActiveUsers") = Application("ActiveUsers") - 1 
Application.UnLock 
End Sub 
</SCRIPT>
    注意:
1.多个 global.asa 可以同时存在,它们分布在不同的虚拟目录下
2.如果为某个虚拟目录下的Web程序指定了global.asa,那么站点根目录下的global.asa将对这个虚拟路径下的ASP不起作用
3.global.asa 是固有文件名,不能改变任何一个字母,但不区分大小写
4.一个虚拟目录下的Web程序只能有一个global.asa
5.Global.asa对用户是不可见的,不在客户端渲染输出任何数据

特别提示
       因为 global.asa中可以获取Application和Session的事件发生和停止通知,所以作用非常大,通常用于在线显示、访问计数和聊天室中。

特别说明


    本例代码中主要用到Application 对象的 Lock和Unlock方法,还有Application的OnStart事件,Session的OnStart和OnEnd事件。
    Lock 锁定Application对象,防止其他任何脚本访问或修改Application,直到调用Unlock方法。
    Unlock 解除对Application对象的锁定。
    Application_OnStart 在应用程序的第一个访问者访问应用程序中的任何页面时触发 。
    Session_OnStart 当访问者第一次请求应用程序中的页面时触发。
    Session_OnEnd 当会话超时时触发。
相关问题
    如何清空指定的 Session 值
    一般来说直接设置该 Session的值为空就行了。例如:

    S ession("demo")=""
    
    当然,你也可以通过清除所有 Session的方式来达到同样的目的,但不建议这样做。例如:

    Session.abandon
posted @ 2007-08-26 16:04  missthe  阅读(594)  评论(0编辑  收藏  举报