曲径通幽论坛
标题:
SESSION 对象
[打印本页]
作者:
easy
时间:
2013-4-8 16:42
标题:
SESSION 对象
SESSION
与
COOKIES
相同的地方都是用来存储或跟踪用户数据,它们在整个站点的范围内都可以访问;不同的是,SESSION 存储在服务端,COOKIES 存储在客户端,修改客户端上的东西很容易,而修改服务端上的却较为困难,因此 SESSION 对于 COOKIES 而言较为安全。
一个常见的 SESSION 例子就是购物车,在一个购物网站里不同的地方购物,所够得的商品都可以放在购物车里。
在一个页面里,创建 SESSION 使用下面的语句:
session("mysession") = "session_123"
mysession 就是被创建的 session 变量。
然后再另一个页面可以使用 response.Write( session("mysession") ) 语句将上面所设置的 session 变量的值输出来以验证设置是否正确。
还可以通过
Contents
集合获得 SESSION 中存储的信息:
seval = session.Contents("mysession")
这样,变量 seval 的值就是 mysession 的值。
SESSION 还有两个常用属性:
SessionID
和
TimeOut
。
SessionID 是每个 SESSION 的识别码,它是由服务器产生的。可以由下面语句获得其值:
长整数变量 = Session.SessionID
TimeOut 属性主要用来设置 SESSION 的失效时间(以分钟为单位),它和 COOKIES 的 Expires 属性类似。
那什么是失效时间:
这是指对 WEB 服务器两次访问之间的时间间隔。如果这个时间间隔超出这个时间,当前的 SESSION 就会失效,SESSION 中存储的信息也被删除。但是这个时间也不能设置太长,否则会加重服务器的维护负担。默认情况下,TimeOut 的值为 20 ,即 20 分钟。
如果 SESSION 还没有过期就想将其删除,那么可以使用 Abandon 的方法:Session.Abandon 。这条语句一旦执行,所有存储在 SESSION 对象中的信息就会被删除。需要注意的是,这种方法会导致网站上所有的 SESSION 都被清除。比如你的网站当前有 10 个会员,其中一个会员在退出登录时,你就让其调用该方法,那么会导致其他 9 个人也都会被退出。对于单个用户退出时的 SESSION 问题,应该针对它自身的 SESSION 进行清空,比如:session("mysession") = "" 。
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/)
Powered by Discuz! X3.2