階段變量(會(huì)話(huà)變量)session一、用戶(hù)的身份證—sessionID <%Response.write(session.sessionID)%> 1、其值以cookie的形式保存到客戶(hù)端,服務(wù)器以該值識(shí)別身份。 2、如果在同一asp頁(yè)上強(qiáng)制結(jié)束電話(huà),該會(huì)話(huà)在同一頁(yè)仍有效。 <% response.write session.session.ID&”<br>” Session(“user”)=”我是session變量” Session.abandon response.write session(“user”)&”<br>” esponse.write session.session.ID %> 3、如果在一asp頁(yè)上強(qiáng)制結(jié)束電話(huà),切換頁(yè)面后原通話(huà)自動(dòng)失效。 上例如中的<%response.write session(“user”)&”<br>” esponse.write session.session.ID%>如果切換到另一頁(yè),則<%response.write session(“user”)%>不會(huì)輸出“user”的值:我是session變量。 4、預(yù)處理指令enablesessionstate=false禁止asp應(yīng)用程序使用cookie。 %@language=”VBSscript” codepage=”936%” Enablesessionstate=false % 使用該指令后,該頁(yè)的相關(guān)sesion的操作無(wú)法進(jìn)行。 5、屏蔽cookie的操作:在IIS的虛擬目錄“應(yīng)用程序配置”中設(shè)置。 “網(wǎng)站”→“默認(rèn)網(wǎng)站”→“虛擬目錄名”右擊→“屬性”→“應(yīng)用程序設(shè)置:配置”→“選項(xiàng)”→取消“啟用會(huì)話(huà)狀況”復(fù)選框。 二、保持會(huì)話(huà)消息的有效期timeout。 單獨(dú)設(shè)置:Session.Timeout=70 單位是分鐘。 在IIS中更改默認(rèn)設(shè)置:與上面屏蔽cookie的路徑一樣,在最后的“選項(xiàng)”中更改默認(rèn)值。 三、設(shè)置會(huì)話(huà)的字符集CodePage和顯示格式LCID <%Session.CodePage=950 Session.LCID=2052 %> 950為中國(guó)漢字,2052為中國(guó)大陸的習(xí)慣顯示格式。 默認(rèn)狀態(tài)下,會(huì)話(huà)的字符集來(lái)源于<%@ language=““VBSscript” codepage=“936%”%>,亦可單獨(dú)設(shè)置會(huì)話(huà)的字符集,該設(shè)置當(dāng)然只影響會(huì)話(huà)。 默認(rèn)狀態(tài)下,session將遵循LCID指令設(shè)置的地區(qū)標(biāo)識(shí)符。 四、session對(duì)象的兩個(gè)集合: 1、Content集合:<%seession(“user”)=“會(huì)話(huà)內(nèi)容”%>通過(guò)腳本添加的。 2、Staticobjects集合:編入<object>標(biāo)簽中: <object runat=”server” scope=”Session” id=”aobject” progid=”msmc.info”></object> <object runat=”server” scope=”Session” id=”bobject” progid=”msmc.info”></object> <% aobject.user=”aobjectname” bbject.id=0001 bobject.user=”aobjectname” bbject.id=0002 for Each element in session.staticobjects response.write session.staticobjects(element).user next%> 五、三種屬性:item /key/ count 1、返還值item:<%response.write session.contents.item(1)%>返還第一頁(yè)session的值; <%response.write session.contents.item(“id”)%>返還第一頁(yè)id的值。 由于cintents是默認(rèn)集合,item是默認(rèn)屬性。所以: <%response.write session.contents.item(“id”)%>=<%response.write session.Contents(“id”)%>=<%response.write session(“id”)%> 2、返還名稱(chēng)key:<%response.write session.contents.key(“id”)%>返還id的名稱(chēng) <%response.write session.contents.key(“2”)%>返還第2個(gè)session的名稱(chēng) 3、返還總數(shù)count <%response.write session.contents.count%>返還content集合的個(gè)數(shù)。 六、兩種刪除方法:remove和removeall 1、<%session.contents.remove(“id”)%>刪除session中的id。 2、<%session.contents.removeall%>刪除session中的所有變量。 七、session變量的保存與輸出: <%session("name")=request.form("name") session("word")=request.form("word")%> 可在本頁(yè)或另一頁(yè)asp頁(yè)中輸出原保存的信息: <%=session("name")%> <%=session("word")%> 八、應(yīng)用實(shí)例3個(gè): 1、Application計(jì)數(shù)器(刷新也計(jì)數(shù)) <% dim counter counter=0 application.lock application("counter")=application("counter") 1 application.unlock %> <body>歡迎光臨!您是本站的第<%=application("counter")%>位訪問(wèn)者</body> 2、session計(jì)數(shù)器(刷新不計(jì)數(shù)) <% if isempty(session("connected")) then application.lock() application("mycounter")=application("mycounter") 1 application.unlock() end if session("connected")=true %> <body>您是本站的第<%=application("mycounter")%>位訪問(wèn)者! 您的SessionID:<%=session.SessionID%></body> 注:isempty(session("connected"))與session("connected")=false是等價(jià)的。session("connected")=false表示session的值是空的,未初始化;session("connected")=true表示給session開(kāi)始賦值,已經(jīng)初始化。 isempty(session("connected"))是判斷是否初始化函數(shù),單獨(dú)使用isempty(session("connected"))表示isempty(session("connected"))=true,true是isempty(session("connected"))的默認(rèn)值。 3、顯示在線人數(shù): (1)、先編制專(zhuān)用配置文件Global.asa,并將其放在根目錄(與主文件并列放在一個(gè)目錄下): <script language="VBScript" runat="Server"> Sub Application_OnStart Session.Timeout = 20 Application.Lock Application("WhosOn") = 0 Application.UnLock End Sub Sub Session_OnStart Application.Lock Application("WhosOn") = Application("WhosOn") 1 Application.UnLock End Sub Sub Session_OnEnd Application.Lock Application("WhosOn") = Application("WhosOn") - 1 Application.UnLock End Sub </script> (2)、再編制主文件:index.asp <body> 目前網(wǎng)站上有<%=application("whoson")%>位用戶(hù)在線! </body> 本文標(biāo)題:階段變量(會(huì)話(huà)變量)session 出自 DW愛(ài)好者 文章地址:http://www./Item/Show.asp?m=1&d=331 若您對(duì)本文的內(nèi)容有異議,請(qǐng)到本站的技術(shù)論壇進(jìn)行交流。 |
|
來(lái)自: xiaozhenyu > 《ASP_Asp.net》