Session 对象
当您操纵某个运用顺序时,您翻开它,做些转变,然后将它封闭。这很像一次对话(Session)。计算机晓得您是谁。它清晰您在什么时候翻开和封闭运用顺序。但是在因特网上有一个题目:由于 HTTP 地点没法存留状况,web 服务器并不晓得您是谁以及您做了什么。
ASP 经由过程为每位用户建立一个唯一的 cookie 的体式格局处理了这个题目。cookie 被传送至客户端,它含有可辨认用户的信息。这类接口被称作 Session 对象。
Session 对象用于存储关于用户的信息,或许为一个用户的 session 变动设置。存储于 session 对象中的变量存有单一用户的信息,而且关于运用顺序中的一切页面都是可用的。存储于 session 对象中的信息通常是 name、id 以及参数。服务器会为每一个新的用户建立一个新的 Session,并在 session 到期时撤销掉这个 Session 对象。
Session 什么时候最先?
Session 最先于:
*当某个新用户要求了一个 ASP 文件,而且 Global.asa 文件引用了 Session_OnStart 子顺序时;
*当某个值存储在 Session 变量中时;
*当某个用户要求了一个 ASP 文件,而且 Global.asa 运用 <object> 标签经由过程 session 的 scope 来例示某个对象时;
Session 什么时候完毕?
假如用户没有在划定的时候内涵运用顺序中要求或许革新页面,session 就会完毕。默认值为 20 分钟。
假如您愿望将超时的时候距离设置得更长或更短,能够设置 Timeout 属性。
下面的例子设置了 5 分钟的超时时候距离:
<% Session.Timeout=5 %>
要马上完毕 session,可运用 Abandon 要领:
<% Session.Abandon %>
注重:运用 session 时重要的题目是它们该在什么时候完毕。我们不会晓得用户近来的要求是不是是末了的要求。因而我们不清晰该让 session“ 存活”多久。为某个余暇的 session 守候太久会耗尽服务器的资本。但是假如 session 被过早地删除,那末用户就不得不一遍又一各处重新最先,这是由于服务器已删除了一切的信息。寻觅适宜的超时候隔时候是很难题的。
提醒:假如您正在运用 session 变量,请不要在个中存储大批的数据。
存储和取回 session 变量
Session 对象最大的长处是可在个中存储变量,以供后续的网页读取,其运用局限是很广的。
下面的例子把 "Donald Duck" 赋值给名为 username 的 session 变量,并把 "50" 赋值给名为 age 的 session 变量:
<% Session("username")="Donald Duck" Session("age")=50 %>
一旦值被存入 session 变量,它就可以被 ASP 运用顺序中的任何页面运用:
Welcome <%Response.Write(Session("username"))%>
上面这行顺序返回的效果是: "Welcome Donald Duck"。
也能够在 session 对象中保留用户参数,然后经由过程接见这些参数来决议向用户返回什么页面。
下面的例子划定,假如用户运用低显示器分辨率,则返回纯文本版本的页面:
<%If Session("screenres")="low" Then%> This is the text version of the page <%Else%> This is the multimedia version of the page <%End If%>
移除 session 变量
contents 鸠合包括一切的 session 变量。
可经由过程 remove 要领来移除 session 变量。
鄙人面的例子中,假如 session 变量 "age" 的值小于 18,则移除 session 变量 "sale":
<% If Session.Contents("age")<18 then Session.Contents.Remove("sale")End If %>
如需移除 session 中的一切变量,请运用 RemoveAll 要领:
<% Session.Contents.RemoveAll() %>
遍历 contents 鸠合
contents 鸠合包括一切的 session 变量。可经由过程遍历 contents 鸠合,来检察个中存储的变量:
<% Session("username")="Donald Duck" Session("age")=50 dim i For Each i in Session.Contents Response.Write(i & "<br />") Next %>
效果:
username age
假如须要相识 contents 鸠合中的项目数目,可运用 count 属性:
<% dim i dim j j=Session.Contents.CountResponse.Write("Session variables: " & j) For i=1 to j Response.Write(Session.Contents(i) & "<br />") Next %>
效果:
Session variables: 2 Donald Duck 50
遍历 StaticObjects 鸠合
可经由过程轮回 StaticObjects 鸠合,来检察存储在 session 对象中一切对象的值:
<% dim i For Each i in Session.StaticObjects Response.Write(i & "<br />") Next %>
【相干引荐】
1. ASP免费视频教程
2. 教你处理ASP session丧失的要领
3. 引见ASP中Session对象的三种要领
4. 详解ASP中Session的运用技能
5. ASP session简朴示例
以上就是关于ASP中session的细致引见的细致内容,更多请关注ki4网别的相干文章!