用ASP編寫虛擬社區(qū)、網(wǎng)上購(gòu)物等程序時(shí),Application和Session對(duì)象具有舉足輕重的作用,能夠靈活合理地運(yùn)用這兩個(gè)對(duì)象是提高程序質(zhì)量的關(guān)鍵。下面讓筆者根據(jù)自己在這方面的經(jīng)驗(yàn),向大家深入介紹一下ASP的這兩個(gè)內(nèi)建對(duì)象。
一、Application對(duì)象的成員概述
Application對(duì)象成員包括Application對(duì)象的集合、方法和事件。
⒈Application對(duì)象的集合
Contents集合:沒有使用<OBJECT>元素定義的存儲(chǔ)于Applicaiton對(duì)象中的所有變量的集合
StaticObjects:使用<OBJECT>元素定義的存儲(chǔ)于Application對(duì)象中的所有變量 的集合
例:在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
在此筆者推薦你在調(diào)用時(shí)使用類如application.contents("a")的方法,因?yàn)檫@樣更為直觀,如果用序號(hào)來(lái)表示的話則要考慮賦值的先后順序。
⒉Application對(duì)象的方法
Contents.Remove("變量名"):從Application.Contents集合中刪除指定的變量
Contents.RemoveAll() :把Application.Contents集合中的所有變量刪除
Lock() :鎖定Application對(duì)象,使得只有當(dāng)前的ASP頁(yè)對(duì)內(nèi)容能進(jìn)行訪問
Unlock() :解除對(duì)Application對(duì)象的鎖定
例:在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>"
執(zhí)行結(jié)果:
a
128
False
After Remove b:
a
False
如果要?jiǎng)h除集合中所有變量用application.contents.removeall即可,至于Lock和Unlock方法在實(shí)際中經(jīng)常用到,讀者也比較熟悉,在此就不在累贅。
⒊Application對(duì)象事件
OnStart:第一個(gè)訪問服務(wù)器的用戶第一次訪問某一頁(yè)面時(shí)發(fā)生
OnEnd :當(dāng)最后一個(gè)用戶的會(huì)話已經(jīng)結(jié)束并且該會(huì)話的OnEnd事件所有代碼已經(jīng)執(zhí)行完畢后發(fā)生,或最后一個(gè)用戶訪問服務(wù)器一段時(shí)間(一般為20分鐘)后仍然沒有人訪問該服務(wù)器產(chǎn)生。
想要定義application對(duì)象的OnStart和OnEnd事件里做什么需要將代碼寫在Global.asa這個(gè)文件里(下文有舉例),并且將該文件放在站點(diǎn)的根目錄下(一般是Inetpub\wwwroot\)
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!