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" 属性。该属性设置并返回一个指示位置或者地区的整数。类似于日期、时间和货币等内容都要根据位置或者地区来显示。

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4.  
  5. <%  
  6. response.write("<p>")
  7. response.write("The default LCID for this page is: " & Session.LCID & "<br>")
  8. response.write("The Date format for the above LCID is: " & date() & "<br>")
  9. response.write("The Currency format for the above LCID is: " & FormatCurrency(350))
  10. response.write("</p>")
  11.  
  12. Session.LCID=1036
  13.  
  14. response.write("<p>")
  15. response.write("The LCID is now changed to: " & Session.LCID & "<br>")
  16. response.write("The Date format for the above LCID is: " & date() & "<br>")
  17. response.write("The Currency format for the above LCID is: " & FormatCurrency(350))
  18. response.write("</p>")
  19.  
  20. Session.LCID = 3079
  21.  
  22. response.write("<p>")
  23. response.write("The LCID is now changed to: " & Session.LCID & "<br>")
  24. response.write("The Date format for the above LCID is: " & date() & "<br>")
  25. response.write("The Currency format for the above LCID is: " & FormatCurrency(350))
  26. response.write("</p>")
  27.  
  28. Session.LCID = 2057
  29.  
  30. response.write("<p>")
  31. response.write("The LCID is now changed to: " & Session.LCID & "<br>")
  32. response.write("The Date format for the above LCID is: " & date() & "<br>")
  33. response.write("The Currency format for the above LCID is: " & FormatCurrency(350))
  34. response.write("</p>")
  35. %>
  36.  
  37. </body>
  38. </html>
  1. The default LCID for this page is: 1033
  2. The Date format for the above LCID is: 9/20/2013
  3. The Currency format for the above LCID is: $350.00
  4. The LCID is now changed to: 1036
  5. The Date format for the above LCID is: 20/09/2013
  6. The Currency format for the above LCID is: 350,00 €
  7. The LCID is now changed to: 3079
  8. The Date format for the above LCID is: 20.09.2013
  9. The Currency format for the above LCID is: € 350,00
  10. The LCID is now changed to: 2057
  11. The Date format for the above LCID is: 20/09/2013
  12. The Currency format for the above LCID is: £350.00

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

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4.  
  5. <%
  6. Response.Write(Session.SessionID)
  7. %>
  8.  
  9. </body>
  10. </html>
  1. 619100248

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

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4.  
  5. <%  
  6. response.write("<p>")
  7. response.write("Default Timeout is: " & Session.Timeout & " minutes.")
  8. response.write("</p>")
  9.  
  10. Session.Timeout=30
  11.  
  12. response.write("<p>")
  13. response.write("Timeout is now: " & Session.Timeout & " minutes.")
  14. response.write("</p>")
  15. %>
  16.  
  17. </body>
  18. </html>
  1. Default Timeout is: 20 minutes.
  2. Timeout is now: 30 minutes.