何为Session?
Session对象用于存储用户的信息。存储于session对象中的变量持有单一用户的信息,并且对于一个应用程序中的所有页面都是可用的。
Session对象最大的优点说可在其中存储变量,以供后续的网页读取,其它的应用范围是非常广的。
Session常见的可用于一个普通的页面登录系统,用于存储验证码。
当操作某个应用程序时,打开并且关闭,其中还做出一些改变,这相似于一场对话。并且清楚你是谁,何时打开和关闭应用程序。但在因特网上存在着问题:由于HTTP地址无法存留状态,web服务器并不知道您是谁以及做了些什么。
ASP通过每一位用户创建一个唯一的cookie的方式解决了这个问题,cookie被传送至客户端,它含有可识别用户的信息,这种接口被称作session对象。
Session对象用于存储关于用户的信息,或者为一个用户的session更改设置,存储于session对象中的变量存有单一用户的信息,并且对于应用程序中的所有页面都是可用的。存储于session对象中的信息通常是name,id以及参数。服务器会为每个新的用户创建一个新的session,并在session到期时撤销这个session对象。
Session何时开始?
1.当某个新用户请求了一个 ASP 文件,并且 Global.asa 文件引用了 Session_OnStart 子程序时;
2.当某个值存储在 Session 变量中时;
3.当某个用户请求了一个 ASP 文件,并且 Global.asa 使用 <object> 标签通过 session 的 scope 来例示某个对象时;
而它又该在何时结束呢?
用户在规定的时间内没有在应用程序中请求或者刷新页面,session就会结束。默认值为20分钟。
如需设置它的时间长短,可设置timeout属性
<%Session.Timeout = 10%>
如需立马结束session,可使用Abandon方法;
使用 session 时主要的问题是它们该在何时结束。我们不会知道用户最近的请求是否是最后的请求。因此我们不清楚该让 session“ 存活”多久。为某个空闲的 session 等待太久会耗尽服务器的资源。然而假如 session 被过早地删除,那么用户就不得不一遍又一遍地重新开始,这是因为服务器已经删除了所有的信息。所以说寻找合适的时间是非常困难的。
session并适合存储大量的数据。
遍历 contents 集合
contents 集合包含所有的 session 变量。可通过遍历 contents 集合,来查看其中存储的变量。
一旦值被存入session变量,它就能被ASP应用程序中的任何页面使用。
如果想移除session变量,则可通过remove方法来移除。