ASP Session 对象


Session 对象用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。

Session 对象

当您在计算机上操作某个应用程序时,您打开它,做些更改,然后关闭它。这很像一次对话(Session)。计算机知道您是谁。它清楚您在何时打开和关闭应用程序。然而,在因特网上问题出现了:由于 HTTP 地址无法保持状态,Web 服务器并不知道您是谁以及您做了什么。

ASP 通过为每个用户创建一个唯一的 cookie 来解决这个问题。cookie 被传送至用户的计算机上,它含有可识别用户的信息。这种接口被称作 Session 对象。

Session 对象用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。

存储于 Session 对象中的变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。存储于 session 变量中的公共信息通常是 name、id 和参数。服务器会为每个新的用户创建一个新的 Session,并在 session 失效时撤销掉这个 Session 对象。

Session 对象的集合、属性、方法和事件的描述如下:

集合

集合描述
Contents包含所有通过脚本命令追加到 session 的条目。
StaticObjects包含了所有使用 HTML 的 <object> 标签追加到 session 的对象。

属性

属性描述
CodePage规定显示动态内容时使用的字符集。
LCID设置或返回指定位置或者地区的一个整数。诸如日期、时间好以及货币的内容会根据位置或者地区来显示。
SessionID为每个用户返回一个唯一的 id。此 id 由服务器生成。
Timeout设置或返回应用程序中的 Session 对象的超时时间(分钟)。

方法

方法描述
Abandon撤销一个用户的 session。
Contents.Remove从 Contents 集合删除一个项目。
Contents.RemoveAll()从 Contents 集合删除所有项目。

事件

事件描述
Session_OnEnd当一个会话结束时此事件发生。
Session_OnStart当一个会话开始时此事件发生。

在线实例

设置并返回 LCID
本例演示 "LCID" 属性。该属性设置并返回一个指示位置或者地区的整数。类似于日期、时间和货币等内容都要根据位置或者地区来显示。

<!DOCTYPE html>
<html>
<body>

<%  
response.write("<p>")
response.write("The default LCID for this page is: " & Session.LCID & "<br>")
response.write("The Date format for the above LCID is: " & date() & "<br>")
response.write("The Currency format for the above LCID is: " & FormatCurrency(350))
response.write("</p>")

Session.LCID=1036

response.write("<p>")
response.write("The LCID is now changed to: " & Session.LCID & "<br>")
response.write("The Date format for the above LCID is: " & date() & "<br>")
response.write("The Currency format for the above LCID is: " & FormatCurrency(350))
response.write("</p>")

Session.LCID = 3079

response.write("<p>")
response.write("The LCID is now changed to: " & Session.LCID & "<br>")
response.write("The Date format for the above LCID is: " & date() & "<br>")
response.write("The Currency format for the above LCID is: " & FormatCurrency(350))
response.write("</p>")

Session.LCID = 2057

response.write("<p>")
response.write("The LCID is now changed to: " & Session.LCID & "<br>")
response.write("The Date format for the above LCID is: " & date() & "<br>")
response.write("The Currency format for the above LCID is: " & FormatCurrency(350))
response.write("</p>")
%>

</body>
</html>
The default LCID for this page is: 1033
The Date format for the above LCID is: 9/20/2013
The Currency format for the above LCID is: $350.00
The LCID is now changed to: 1036
The Date format for the above LCID is: 20/09/2013
The Currency format for the above LCID is: 350,00 €
The LCID is now changed to: 3079
The Date format for the above LCID is: 20.09.2013
The Currency format for the above LCID is: € 350,00
The LCID is now changed to: 2057
The Date format for the above LCID is: 20/09/2013
The Currency format for the above LCID is: £350.00

返回 SessionID
本例演示 "SessionID" 属性。该属性为每位用户返回一个唯一的 id。这个 id 由服务器生成。

<!DOCTYPE html>
<html>
<body>

<%
Response.Write(Session.SessionID)
%>

</body>
</html>
619100248

session 的超时
本例演示 "Timeout" 属性。该属性设置并返回 session 的超时时间(分钟)。

<!DOCTYPE html>
<html>
<body>

<%  
response.write("<p>")
response.write("Default Timeout is: " & Session.Timeout & " minutes.")
response.write("</p>")

Session.Timeout=30

response.write("<p>")
response.write("Timeout is now: " & Session.Timeout & " minutes.")
response.write("</p>")
%>

</body>
</html>
Default Timeout is: 20 minutes.
Timeout is now: 30 minutes.