认识一下Global.asa 文件
生活随笔
收集整理的這篇文章主要介紹了
认识一下Global.asa 文件
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.作用。
Global.asa?文件的作用主要是用于站點(diǎn)或虛擬目錄下程序的數(shù)據(jù)共享和多線程。
2.內(nèi)容。在?global.asa?中,你可以聲明?Application?事件和?Session?事件,并可以聲明一些?Session?范圍或者?Application?范圍的對(duì)象
Global.asa?只能包含下面的內(nèi)容:
1.Application?事件
2.Session?事件
3.OBJECT?聲明
4.TypeLibrary?聲明
3.使用。
每一個(gè)站點(diǎn)或虛擬目錄都可以有一個(gè)?global.asa?文件。這個(gè)文件一般存放在站點(diǎn)或虛擬目錄的根目錄下。
例如,假設(shè)我們創(chuàng)建了站點(diǎn)?mysite,如果要使?global.asa?對(duì)這個(gè)站點(diǎn)下的所有?ASP?程序起作用,那么,global.asa?就應(yīng)該存放在?"/"?下;假設(shè)我們?cè)谡军c(diǎn)根目錄下創(chuàng)建了一個(gè)虛擬目錄?demo,可以在?demo?下放一個(gè)?global.asa,從而為這個(gè)虛擬目錄下的ASP程序特別指定一個(gè)?global.asa。
4.代碼示例。
下面是一個(gè)用?global.asa內(nèi)的Application和Session對(duì)象事件實(shí)現(xiàn)的在線人數(shù)統(tǒng)計(jì)。
<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.多個(gè)?global.asa?可以同時(shí)存在,它們分布在不同的虛擬目錄下
2.如果為某個(gè)虛擬目錄下的Web程序指定了global.asa,那么站點(diǎn)根目錄下的global.asa將對(duì)這個(gè)虛擬路徑下的ASP不起作用
3.global.asa?是固有文件名,不能改變?nèi)魏我粋€(gè)字母,但不區(qū)分大小寫
4.一個(gè)虛擬目錄下的Web程序只能有一個(gè)global.asa
5.Global.asa對(duì)用戶是不可見的,不在客戶端渲染輸出任何數(shù)據(jù)
特別提示
???????因?yàn)?global.asa中可以獲取Application和Session的事件發(fā)生和停止通知,所以作用非常大,通常用于在線顯示、訪問(wèn)計(jì)數(shù)和聊天室中。
????本例代碼中主要用到Application?對(duì)象的?Lock和Unlock方法,還有Application的OnStart事件,Session的OnStart和OnEnd事件。
????Lock?鎖定Application對(duì)象,防止其他任何腳本訪問(wèn)或修改Application,直到調(diào)用Unlock方法。
????Unlock?解除對(duì)Application對(duì)象的鎖定。
????Application_OnStart?在應(yīng)用程序的第一個(gè)訪問(wèn)者訪問(wèn)應(yīng)用程序中的任何頁(yè)面時(shí)觸發(fā)?。
????Session_OnStart?當(dāng)訪問(wèn)者第一次請(qǐng)求應(yīng)用程序中的頁(yè)面時(shí)觸發(fā)。
????Session_OnEnd?當(dāng)會(huì)話超時(shí)時(shí)觸發(fā)。
相關(guān)問(wèn)題
????如何清空指定的?Session?值
????一般來(lái)說(shuō)直接設(shè)置該?Session的值為空就行了。例如:
????S?ession("demo")=""
????
????當(dāng)然,你也可以通過(guò)清除所有?Session的方式來(lái)達(dá)到同樣的目的,但不建議這樣做。例如:
????Session.abandon
Global.asa?文件的作用主要是用于站點(diǎn)或虛擬目錄下程序的數(shù)據(jù)共享和多線程。
2.內(nèi)容。在?global.asa?中,你可以聲明?Application?事件和?Session?事件,并可以聲明一些?Session?范圍或者?Application?范圍的對(duì)象
Global.asa?只能包含下面的內(nèi)容:
1.Application?事件
2.Session?事件
3.OBJECT?聲明
4.TypeLibrary?聲明
3.使用。
每一個(gè)站點(diǎn)或虛擬目錄都可以有一個(gè)?global.asa?文件。這個(gè)文件一般存放在站點(diǎn)或虛擬目錄的根目錄下。
例如,假設(shè)我們創(chuàng)建了站點(diǎn)?mysite,如果要使?global.asa?對(duì)這個(gè)站點(diǎn)下的所有?ASP?程序起作用,那么,global.asa?就應(yīng)該存放在?"/"?下;假設(shè)我們?cè)谡军c(diǎn)根目錄下創(chuàng)建了一個(gè)虛擬目錄?demo,可以在?demo?下放一個(gè)?global.asa,從而為這個(gè)虛擬目錄下的ASP程序特別指定一個(gè)?global.asa。
4.代碼示例。
下面是一個(gè)用?global.asa內(nèi)的Application和Session對(duì)象事件實(shí)現(xiàn)的在線人數(shù)統(tǒng)計(jì)。
<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.多個(gè)?global.asa?可以同時(shí)存在,它們分布在不同的虛擬目錄下
2.如果為某個(gè)虛擬目錄下的Web程序指定了global.asa,那么站點(diǎn)根目錄下的global.asa將對(duì)這個(gè)虛擬路徑下的ASP不起作用
3.global.asa?是固有文件名,不能改變?nèi)魏我粋€(gè)字母,但不區(qū)分大小寫
4.一個(gè)虛擬目錄下的Web程序只能有一個(gè)global.asa
5.Global.asa對(duì)用戶是不可見的,不在客戶端渲染輸出任何數(shù)據(jù)
特別提示
???????因?yàn)?global.asa中可以獲取Application和Session的事件發(fā)生和停止通知,所以作用非常大,通常用于在線顯示、訪問(wèn)計(jì)數(shù)和聊天室中。
特別說(shuō)明
????本例代碼中主要用到Application?對(duì)象的?Lock和Unlock方法,還有Application的OnStart事件,Session的OnStart和OnEnd事件。
????Lock?鎖定Application對(duì)象,防止其他任何腳本訪問(wèn)或修改Application,直到調(diào)用Unlock方法。
????Unlock?解除對(duì)Application對(duì)象的鎖定。
????Application_OnStart?在應(yīng)用程序的第一個(gè)訪問(wèn)者訪問(wèn)應(yīng)用程序中的任何頁(yè)面時(shí)觸發(fā)?。
????Session_OnStart?當(dāng)訪問(wèn)者第一次請(qǐng)求應(yīng)用程序中的頁(yè)面時(shí)觸發(fā)。
????Session_OnEnd?當(dāng)會(huì)話超時(shí)時(shí)觸發(fā)。
相關(guān)問(wèn)題
????如何清空指定的?Session?值
????一般來(lái)說(shuō)直接設(shè)置該?Session的值為空就行了。例如:
????S?ession("demo")=""
????
????當(dāng)然,你也可以通過(guò)清除所有?Session的方式來(lái)達(dá)到同樣的目的,但不建議這樣做。例如:
????Session.abandon
轉(zhuǎn)載于:https://www.cnblogs.com/missthe/archive/2007/08/26/870311.html
總結(jié)
以上是生活随笔為你收集整理的认识一下Global.asa 文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 谁吃了我的CHM
- 下一篇: 关于 MSDTC 分布式事务两个常见错误