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

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

[摘要]二、Session對象的成員概述  Session對象的成員比Application對象多一項屬性,即:集合、屬性、方法、事件 、盨ession對象的集合  Contents :沒有使用<O...
二、Session對象的成員概述

  Session對象的成員比Application對象多一項屬性,即:集合、屬性、方法、事件

  ⒈Session對象的集合

  Contents :沒有使用<OBJECT>元素定義的存儲于特定Session對象的所有變量的集合。

  StaticObject:使用<OBJECT>元素定義的、存儲于Session對象中的所有變量的集合。

  例:在default.asp中有如下賦值

  session("a")="a"

  session("b")=128

  session("c")=false

  則有contents集合

  session.contents(1)="a" '也可寫為session.contents("a")="a"

  session.contents(2)=128 '也可寫為session.contents("b")=128

  session.contents(3)=false '也可寫為session.contents("c")=false

  ⒉Session對象的屬性

  CodePage: 可讀/可寫。整型。定義用于在瀏覽器中顯示頁內(nèi)容的代碼頁。代碼頁是字符集的數(shù)字值,不同的語言使用不同的代碼頁。例如,ANSI代碼頁為1252,日文代碼頁為932,簡體中文代碼頁為936。

  LCID : 可讀/可寫。整型。定義發(fā)送給瀏覽器的頁面地區(qū)標識。LCID是唯一地標識地區(qū)的一個國際標準縮寫,例如,2057定義當前地區(qū)的貨幣符號是"£"。

  SessionID: 只讀。長整型。返回本會話的會話標識符。每創(chuàng)建一個會話,由服務(wù)器自動分配一個標識符?梢愿鶕(jù)它的值判斷兩個用戶是誰先訪問服務(wù)器。

  Timeout : 可讀/可寫。整型。為會話定義以分鐘為單位的超時限定。如果用戶在這個時間內(nèi)沒有刷新或請求任何一個網(wǎng)頁,則該用戶產(chǎn)生的會話自動結(jié)束。缺省值是20。

以上屬性在實際應(yīng)用中作用不大,而且基本上不需要怎么修改,這幾個屬性也沒什么特殊的地方。

 、砈ession對象的方法

  Contents.Remove("變量名"): 從Session.contents集合中刪除指定的變量

  Contents.Removeall() : 刪除Session.contents集合中的所有變量

  Abandon() : 結(jié)束當前用戶會話并且撤消當前Session對象。

  Session對象的Contents.Remove("變量名")和Contents.Removeall()方法與Application對象的基本上沒什么區(qū)別,為幫助理解,大家可以參照上面的例子將Application改為Session。這里要說明一下的是Contents.Removeall()和Abandon()的區(qū)別,執(zhí)行這兩個方法都會釋放當前

  用戶會話的所有Session變量,不同的是Contents.Removeall()單純地釋放Session變量的值而不終止當前的會話,而Abandon()除了釋放Session變量外還會終止會話引發(fā)Session_OnEnd事件,希望大家注意兩者的區(qū)別。

 、碨ession對象的事件

  OnStart: 當ASP用戶會話產(chǎn)生時觸發(fā),一旦有任一用戶對本服務(wù)器請求任一頁面即產(chǎn)生該事件。

  OnEnd : 當ASP用戶會話結(jié)束時觸發(fā),當使用Abandon()方法或超時也會觸發(fā)該事件。

  這兩個事件和Application的OnStart、OnEnd事件一樣,也是必須放在Global.asa文件里,下面就重點和大家研究一下這四個事件的使用。