明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

深入研究Application與Session對象(1)

[摘要]用ASP編寫虛擬社區(qū)、網(wǎng)上購物等程序時,Application和Session對象具有舉足輕重的作用,能夠靈活合理地運用這兩個對象是提高程序質量的關鍵。下面讓筆者根據(jù)自己在這方面的經(jīng)驗,向大家深入介...
用ASP編寫虛擬社區(qū)、網(wǎng)上購物等程序時,Application和Session對象具有舉足輕重的作用,能夠靈活合理地運用這兩個對象是提高程序質量的關鍵。下面讓筆者根據(jù)自己在這方面的經(jīng)驗,向大家深入介紹一下ASP的這兩個內建對象。

  一、Application對象的成員概述

  Application對象成員包括Application對象的集合、方法和事件。

 、盇pplication對象的集合

  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")的方法,因為這樣更為直觀,如果用序號來表示的話則要考慮賦值的先后順序。

 、睞pplication對象的方法

  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>"

  執(zhí)行結果:

  a

  128

  False

  After Remove b:

  a

  False

  如果要刪除集合中所有變量用application.contents.removeall即可,至于Lock和Unlock方法在實際中經(jīng)常用到,讀者也比較熟悉,在此就不在累贅。

  ⒊Application對象事件

  OnStart:第一個訪問服務器的用戶第一次訪問某一頁面時發(fā)生

  OnEnd :當最后一個用戶的會話已經(jīng)結束并且該會話的OnEnd事件所有代碼已經(jīng)執(zhí)行完畢后發(fā)生,或最后一個用戶訪問服務器一段時間(一般為20分鐘)后仍然沒有人訪問該服務器產(chǎn)生。

  想要定義application對象的OnStart和OnEnd事件里做什么需要將代碼寫在Global.asa這個文件里(下文有舉例),并且將該文件放在站點的根目錄下(一般是Inetpub\wwwroot\)