一、Application對象的成員概述
Application對象成員包括Application對象的集合、方法和事件。
⒈Application對象的集合
Contents集合:沒有使用<OBJECT>元素定義的存儲于Applicaiton對象中的所有變量的集合
StaticObjects:使用<OBJECT>元素定義的存儲于Application對象中的所有變量 的集合
例:在default.asp中有如下賦值
application("a")="a"
application("b")=128
application("c")=false
則有contents集合
application.contents(1)="a" '也可寫為application.contents("a")="a"
application.contents(2)=128 '也可寫為application.contents("b")=128
application.contents(3)=false '也可寫為application.contents("c")=false
在此筆者推薦你在調用時使用類如application.contents("a")的方法,因為這樣更為直觀,如果用序號來表示的話則要考慮賦值的先后順序。
⒉Application對象的方法
Contents.Remove("變量名"):從Application.Contents集合中刪除指定的變量
Contents.RemoveAll() :把Application.Contents集合中的所有變量刪除
Lock() :鎖定Application對象,使得只有當前的ASP頁對內容能進行訪問
Unlock() :解除對Application對象的鎖定
例:在default.asp中:
application("a")="a"
application("b")=128
application("c")=false
response.write application.contents(1)&"<br>"
response.write application.contents(2)&"<br>"
response.write application.contents(3)&"<br>"
response.write "After Remove b:"
application.contents.remove("b")
response.write application.contents(1)&"<br>"
response.write application.contents(2)&"<br>"
執行結果:
a
128
False
After Remove b:
a
False
如果要刪除集合中所有變量用application.contents.removeall即可,至于Lock和Unlock方法在實際中經常用到,讀者也比較熟悉,在此就不在累贅。
⒊Application對象事件
OnStart:第一個訪問服務器的用戶第一次訪問某一頁面時發生
OnEnd :當最后一個用戶的會話已經結束并且該會話的OnEnd事件所有代碼已經執行完畢后發生,或最后一個用戶訪問服務器一段時間(一般為20分鐘)后仍然沒有人訪問該服務器產生。
想要定義application對象的OnStart和OnEnd事件里做什么需要將代碼寫在Global.asa這個文件里(下文有舉例),并且將該文件放在站點的根目錄下(一般是Inetpubwwwroot)