向書(shū)本學(xué)習(xí),還要向?qū)嵺`學(xué)習(xí)、向生活學(xué)習(xí)。消化已有知識(shí),
而且要力求有所發(fā)現(xiàn)、有所發(fā)明、有所創(chuàng)造
2019/3/26 12:38:44
Session 對(duì)象
可以使用 Session 對(duì)象存儲(chǔ)特定用戶(hù)會(huì)話(huà)所需的信息。這樣,當(dāng)用戶(hù)在應(yīng)用程序的 Web 頁(yè)之間跳轉(zhuǎn)時(shí),存儲(chǔ)在 Session 對(duì)象中的變量將不會(huì)丟失,而是在整個(gè)用戶(hù)會(huì)話(huà)中一直存在下去。
當(dāng)用戶(hù)請(qǐng)求來(lái)自應(yīng)用程序的 Web 頁(yè)時(shí),如果該用戶(hù)還沒(méi)有會(huì)話(huà),則 Web 服務(wù)器將自動(dòng)創(chuàng)建一個(gè) Session 對(duì)象。當(dāng)會(huì)話(huà)過(guò)期或被放棄后,服務(wù)器將終止該會(huì)話(huà)。
Session 對(duì)象最常見(jiàn)的一個(gè)用法就是存儲(chǔ)用戶(hù)的首選項(xiàng)。例如,如果用戶(hù)指明不喜歡查看圖形,就可以將該信息存儲(chǔ)在 Session 對(duì)象中。有關(guān)使用 Session 對(duì)象的詳細(xì)信息,請(qǐng)參閱“ASP 應(yīng)用程序”部分的“管理會(huì)話(huà)”。
注意 會(huì)話(huà)狀態(tài)僅在支持 cookie 的瀏覽器中保留。
語(yǔ)法
Session.collection|property|method
集合
Contents 包含已用腳本命令添加到會(huì)話(huà)中的項(xiàng)目。
StaticObjects 包含通過(guò) <OBJECT> 標(biāo)記創(chuàng)建的并給定了會(huì)話(huà)作用域的對(duì)象。
屬性
CodePage 將用于符號(hào)映射的代碼頁(yè)。
LCID 現(xiàn)場(chǎng)標(biāo)識(shí)。
SessionID 返回用戶(hù)的會(huì)話(huà)驗(yàn)證。
Timeout 應(yīng)用程序會(huì)話(huà)狀態(tài)的超時(shí)時(shí)限,以分鐘為單位。
方法
Abandon 該方法破壞 Session 對(duì)象并釋放其資源。
事件
global.asa 文件中聲明下列事件的腳本。
Session_OnEnd
Session_OnStart
有關(guān)以上事件及 global.asa 文件的詳細(xì)信息, 請(qǐng)參閱 Global.asa 參考.
注釋
您可以在 Session 對(duì)象中存儲(chǔ)值。存儲(chǔ)在 Session 對(duì)象中的信息在會(huì)話(huà)及會(huì)話(huà)作用域內(nèi)有效。下列腳本演示兩種類(lèi)型的變量的存儲(chǔ)方式。
<%
Session("username") = "Janine"
Session("age") = 24
%>
但是,如果您將對(duì)象存儲(chǔ)在 Session對(duì)象中,而且您使用 VBScript 作為主腳本語(yǔ)言。則必須使用關(guān)鍵字 Set。如下列腳本所示。
<% Set Session("Obj1") = Server.CreateObject("MyComponent.class1") %>
然后,您就可以在后面的 Web 頁(yè)上調(diào)用 MyComponent.class1 揭示的方法和屬性,其調(diào)用方法如下:
<% Session("Obj1").MyMethod %>
也可以通過(guò)展開(kāi)該對(duì)象的本地副本并使用下列腳本來(lái)調(diào)用:
<%
Set MyLocalObj1 = Session("Obj1")
MyLocalObj1.MyObjMethod
%>
創(chuàng)建有會(huì)話(huà)作用域的對(duì)象的另一種方法是在 global.asa 文件中使用 <OBJECT> 標(biāo)記。
但是不能在 Session 對(duì)象中存儲(chǔ)內(nèi)建對(duì)象。例如,下面每一行都將返回錯(cuò)誤。
<%
Set Session("var1") = Session
Set Session("var2") = Request
Set Session("var3") = Response
Set Session("var4") = Server
Set Session("var5") = Application
%>
在將對(duì)象存儲(chǔ)到 Session 對(duì)象之前,必須了解它使用的是哪一種線(xiàn)程模型。只有那些標(biāo)記為“Both”的對(duì)象才能存儲(chǔ)在沒(méi)有鎖定單線(xiàn)程會(huì)話(huà)的 Session 對(duì)象中。詳細(xì)信息, 請(qǐng)參閱“創(chuàng)建 ASP 組件”中的“選擇線(xiàn)程模型”。
若您將一個(gè)數(shù)組存儲(chǔ)在 Session對(duì)象中,請(qǐng)不要直接更改存儲(chǔ)在數(shù)組中的元素。例如,下列的腳本無(wú)法運(yùn)行。
<% Session("StoredArray")(3) = "new value" %>
這是因?yàn)?Session對(duì)象是作為集合被實(shí)現(xiàn)的。數(shù)組元素 StoredArray(3) 未獲得新的賦值。而此值將包含在 Application 對(duì)象集合中,并將覆蓋此位置以前存儲(chǔ)的任何信息。
我們極力建議您在將數(shù)組存儲(chǔ)在 Session對(duì)象中時(shí),在檢索或改變數(shù)組中的對(duì)象前獲取數(shù)組的一個(gè)副本。在對(duì)數(shù)組操作時(shí),您應(yīng)再將數(shù)組全部存儲(chǔ)在 Session 對(duì)象中,這樣您所做的任何改動(dòng)將被存儲(chǔ)下來(lái)。下列的腳本對(duì)此進(jìn)行演示。
---file1.asp---
<%
'Creating and initializing the array
Dim MyArray()
Redim MyArray(5)
MyArray(0) = "hello"
MyArray(1) = "some other string"
'Storing the array in the Session object
Session("StoredArray") = MyArray
Response.Redirect("file2.asp")
%>
---file2
深圳市南山區(qū)南山街道南海大道西桂廟路北陽(yáng)光華藝大廈1棟4F、4G-04
咨詢(xún)電話(huà):136 8237 6272
大客戶(hù)咨詢(xún):139 0290 5075
業(yè)務(wù)QQ:195006118
技術(shù)QQ:179981967
深圳精銳軟件 深圳APP開(kāi)發(fā) 深圳小程序開(kāi)發(fā) 深圳微信開(kāi)發(fā) 深圳APP制作 深圳營(yíng)銷(xiāo)推廣 深圳網(wǎng)站建設(shè) 深圳游戲開(kāi)發(fā)
客戶(hù)案列
新聞資訊
資質(zhì)榮譽(yù)
團(tuán)隊(duì)風(fēng)采
項(xiàng)目進(jìn)度查詢(xún)
售前QQ咨詢(xún)
QQ溝通 項(xiàng)目QQ溝通