关于ASP中session的详细介绍


本文摘自PHP中文网,作者Y2J,侵删。

Session 对象用于存储用户的信息。存储于 session 对象中的变量持有单一用户的信息,并且对于一个应用程序中的所有页面都是可用的。

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 分钟的超时时间间隔:

1

2

3

<%

Session.Timeout=5

%>

要立即结束 session,可使用 Abandon 方法:

1

2

3

<%

Session.Abandon

%>

注意:使用 session 时主要的问题是它们该在何时结束。我们不会知道用户最近的请求是否是最后的请求。因此我们不清楚该让 session“ 存活”多久。为某个空闲的 session 等待太久会耗尽服务器的资源。然而假如 session 被过早地删除,那么用户就不得不一遍又一遍地重新开始,这是因为服务器已经删除了所有的信息。寻找合适的超时间隔时间是很困难的。

提示:如果您正在使用 session 变量,请不要在其中存储大量的数据。

存储和取回 session 变量

Session 对象最大的优点是可在其中存储变量,以供后续的网页读取,其应用范围是很广的。

下面的例子把 "Donald Duck" 赋值给名为 username 的 session 变量,并把 "50" 赋值给名为 age 的 session 变量:

1

2

3

4

<%

Session("username")="Donald Duck"

Session("age")=50

%>

一旦值被存入 session 变量,它就能被 ASP 应用程序中的任何页面使用:

Welcome <%Response.Write(Session("username"))%>

上面这行程序返回的结果是: "Welcome Donald Duck"。

也可以在 session 对象中保存用户参数,然后通过访问这些参数来决定向用户返回什么页面。

下面的例子规定,假如用户使用低显示器分辨率,则返回纯文本版本的页面:

1

2

3

4

5

<%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 变量。

阅读剩余部分

相关阅读 >>

总结ASP fso教程--ASP delete 方法

ASPASP.net的区别与联系

一个ASP写的侧边菜单栏

解析ASP.net如何使用session

ASP文件中调用dll的方法

ASP生成随机密码的两个函数

ASP还有人用吗

ASP session简单示例

ASP fso:创建文件 createtextfile 实例教程

分析ASP.net 2.0 session 丢失的几种情况

更多相关阅读请进入《ASP》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...