ASP教程:简单学习掌握ASP Session 对象

session|对象|教程

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

Session 对象

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

ASP通过为每位用户创建一个唯一的cookie的方式解决了这个问题。cookie被传送至客户端,它含有可识别用户的信息。这种接口被称作Session对象。

Session对象用于存储关于用户的信息,或者为一个用户session更改设置。存储于session对象中的变量握有单一用户的信息,并且对于应用程序中的所有页面都是可用的。存储于session对象中的信息通常是名称、id以及参数。服务器会为每个新的用户创建一个新的Session,并在session到期时撤销掉这个Session 对象。

Session何时开始?

Session开始于:

  • 当某个新用户请求了一个ASP文件,并且Global.asa文件引用了Session_OnStart子程序时;
  • 当某个值存储在Session变量中时;
  • 当某个用户请求了一个ASP文件,并且Global.asa使用<object>标签通过session的scope来例示某个对象时;

Session何时结束?

假如用户没有在规定的时间内在应用程序中请求或者刷新页面,session就会结束。默认值为20分钟。

如果你希望将超时的时间间隔设置得更长或更短,可以设置Timeout属性。

下面的例子设置了5分钟的超时时间间隔:

<%Session.Timeout=5%>

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

<%Session.Abandon%>

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

提示:如果你正在使用session变量,请在其中存储少量的数据。

存储和取回session变量

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

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

<%Session("username")="Donald Duck"Session("age")=50%>

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

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

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

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

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

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

在下面的例子中,假如session变量"age"的值小于18,则移除session变量"sale":

<%If Session.Contents("age")<18 then   Session.Contents.Remove("sale")End If %>

如需移除session中的所有变量,请使用RemoveAll方法:

<%Session.Contents.RemoveAll()%>

循环遍历contents集

contents集包含所有的session变量。可通过遍历contents集,来查看其中存储的变量:

<%Session("username")="Donald Duck"Session("age")=50dim iFor Each i in Session.Contents  Response.Write(i & "<br />")Next%>

结果:

usernameage

如果需要了解contents集之中的项目数量,可使用count属性:

<%dim idim jj=Session.Contents.CountResponse.Write("Session variables: " & j)For i=1 to j  Response.Write(Session.Contents(i) & "<br />")Next%>

结果:

Session variables: 2Donald Duck50

循环遍历StaticObjects集

可通过循环遍历StaticObjects集,来查看存储在session对象中所有对象的值:

<%dim iFor Each i in Session.StaticObjects  Response.Write(i & "<br />")Next%>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索存储
, 对象
, session
, 变量
, 遍历结果集
用户
,以便于您获取更多的相关知识。

时间: 2024-09-22 02:48:34

ASP教程:简单学习掌握ASP Session 对象的相关文章

javascript asp教程第十二课---session对象_ASP基础

Overview: The Session Object is how you track a single user across many pages. It has four (4) properties, two (2) collections, one (1) method, and two (2) events. Get Started: In this series of examples we will create a password system. We will use

javascript asp教程第十二课---session对象

Overview: The Session Object is how you track a single user across many pages. It has four (4) properties, two (2) collections, one (1) method, and two (2) events. Get Started: In this series of examples we will create a password system. We will use

ASP教程:学习掌握ASP Global.asa 文件

教程 Global.asa 文件是一个可选的文件,它可包含可被ASP应用程序中每个页面访问的对象.变量以及方法的声明. Global.asa 文件 Global.asa文件是一个可选的文件,它可包含可被ASP应用程序中每个页面访问的对象.变量以及方法的声明.所有合法的浏览器脚本都能在Global.asa中使用. Global.asa 文件可包含下列内容: Application事件 Session事件 <object>声明 TypeLibrary声明 #include命令 注释:Global.

ASP教程:学习掌握ASP 文件引用的方法

教程 #include命令用于在多重页面上创建需重复使用的函数.页眉.页脚或者其他元素等. #include 命令 通过使用#include命令,我们可以在服务器执行某个ASP文件之前,把另一个ASP文件插入这个文件中.#include命令用于在多重页面上创建需重复使用的函数.页眉.页脚或者其他元素等. 如何使用#include命令 这里有一个名为"mypage.asp"的文件: <html> <body> <h3>Words of Wisdom:&

ASP教程:简单学习掌握ASP Application 对象

application|对象|教程 在一起协同工作以完成某项任务的一组ASP文件被称作应用程序(application).ASP中的Application 对象用来将这些文件捆绑在一起. Application 对象 web上的某个应用程序可以是一组ASP文件.这些ASP文件一起协同工作来完成某项任务.ASP中的Application对象用来把这些文件捆绑在一起. Application对象用于存储和访问来自任何页面的变量,类似于session对象.不同之处在于,所有的用户分享一个Applica

ASP教程:第九篇 ASP内建对象Application 和 Session

 在上一篇中作者给大家详细介绍了 ASP 内建对象 Response 的使用方法,在这一篇中作者将继续给大家介绍另两个非常实用且重要的 ASP 的内建对象 Application 和 Session. 在 ASP 的内建对象中除了用于发送.接收和处理数据的对象外,还有一些非常实用的代表 Active Server 应用程序和单个用户信息的对象. 让我们先来看看 Application 对象.在同一虚拟目录及其子目录下的所有 .asp 文件构成了 ASP 应用程序.我们非但可以使用 Applica

菜鸟十天学会ASP教程之第九天:Session组件

session|教程|十天学会 上一节:修改记录 学习目的:基本的SESSION组件,总结response,request组件. 首先,有会员系统的任何程序都会用到检测是不是用户已经登陆这个步骤.这就用到了SESSION组件,下面我们 看一个代码来说明. <%session("login")="yes"%> 这句话的意思就是在session里面定义一个login字符串变量,值为"yes",直接可以赋值,不需要声明.是不是很简单? 如果

ASP教程:学习掌握使用CDOSYS发送电子邮件

教程 CDOSYS是ASP中的内置组件.此组建用于通过ASP来发送电子邮件. 使用CDOSYS发送电子邮件 CDO (Collaboration Data Objects)是一项微软的技术,被设计用来简化通信程序的创建. CDOCDOSYS是ASP中的内置组件.我们将会您展示如何使用该组件来发送电子邮件. How about CDONTs? 微软已经在Windows 2000.Windows XP以及Windows 2003中淘汰了CDONTs.如果您还在应用程序中使用CDONTs,就需要更新代

ASP教程:学习ASP应用Cookies的技巧

什么是 Cookie?Cookie 其实是一个标签,经常可能听到的中文翻译:小舔饼.当你访问一个需要唯一标识你的站址的 WEB 站点时,它会在你的硬盘上留下一个标记,下一次你访问同一个站点时,站点的页面会查找这个标记. 每个 WEB 站点都有自己的标记,标记的内容可以随时读取,但只能由该站点的页面完成.每个站点的Cookie与其他所有站点的Cookie存在同一文件夹中的不同文件内(你可以在 win98 的 Windows 目录下的 Cookie 文件夹中找到它们,而 win2k 则在 Docum