欢迎光临
我们一直在努力

session的用法具体解说-ASP教程,ASP基础

建站超值云服务器,限时71元/月

session 对象

可以使用 session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 web 页之间跳转时,存储在 session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

当用户请求来自应用程序的 web 页时,如果该用户还没有会话,则 web 服务器将自动创建一个 session 对象。当会话过期或被放弃后,服务器将终止该会话。

session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 session 对象中。有关使用 session 对象的详细信息,请参阅“asp 应用程序”部分的“管理会话”。

注意 会话状态仅在支持 cookie 的浏览器中保留。

语法

session.collection|property|method

集合

contents 包含已用脚本命令添加到会话中的项目。

staticobjects 包含通过 <object> 标记创建的并给定了会话作用域的对象。

属性

codepage 将用于符号映射的代码页。

lcid 现场标识。

sessionid 返回用户的会话验证。

timeout 应用程序会话状态的超时时限,以分钟为单位。

方法

abandon 该方法破坏 session 对象并释放其资源。

事件

global.asa 文件中声明下列事件的脚本。

session_onend

session_onstart

有关以上事件及 global.asa 文件的详细信息, 请参阅 global.asa 参考.

注释

您可以在 session 对象中存储值。存储在 session 对象中的信息在会话及会话作用域内有效。下列脚本演示两种类型的变量的存储方式。

<%

session("username") = "janine"

session("age") = 24

%>

但是,如果您将对象存储在 session对象中,而且您使用 vbscript 作为主脚本语言。则必须使用关键字 set。如下列脚本所示。

<% set session("obj1") = server.createobject("mycomponent.class1") %>

然后,您就可以在后面的 web 页上调用 mycomponent.class1 揭示的方法和属性,其调用方法如下:

<% session("obj1").mymethod %>

也可以通过展开该对象的本地副本并使用下列脚本来调用:

<%

set mylocalobj1 = session("obj1")

mylocalobj1.myobjmethod

%>

创建有会话作用域的对象的另一种方法是在 global.asa 文件中使用 <object> 标记。

但是不能在 session 对象中存储内建对象。例如,下面每一行都将返回错误。

<%

set session("var1") = session

set session("var2") = request

set session("var3") = response

set session("var4") = server

set session("var5") = application

%>

在将对象存储到 session 对象之前,必须了解它使用的是哪一种线程模型。只有那些标记为“both”的对象才能存储在没有锁定单线程会话的 session 对象中。详细信息, 请参阅“创建 asp 组件”中的“选择线程模型”。

若您将一个数组存储在 session对象中,请不要直接更改存储在数组中的元素。例如,下列的脚本无法运行。

<% session("storedarray")(3) = "new value" %>

这是因为 session对象是作为集合被实现的。数组元素 storedarray(3) 未获得新的赋值。而此值将包含在 application 对象集合中,并将覆盖此位置以前存储的任何信息。

我们极力建议您在将数组存储在 session对象中时,在检索或改变数组中的对象前获取数组的一个副本。在对数组操作时,您应再将数组全部存储在 session 对象中,这样您所做的任何改动将被存储下来。下列的脚本对此进行演示。

—file1.asp—

<%

creating and initializing the array

dim myarray()

redim myarray(5)

myarray(0) = "hello"

myarray(1) = "some other string"

storing the array in the session object

session("storedarray") = myarray

response.redirect("file2.asp")

%>

—file2.asp—

<%

retrieving the array from the session object

and modifying its second element

localarray = session("storedarray")

localarray(1) = " there"

printing out the string "hello there"

response.write(localarray(0)&localarray(1))

re-storing the array in the session object

this overwrites the values in storedarray with the new values

session("storedarray") = localarray

%>

示例

下列代码将字符串 myname 分配给名为 name 的会话变量,并给名为 year 的会话变量指定一个值,而且为 some.obj 组件的实例指定一个名为 myobj 的变量。

session("name") = "myname"

session("year") = 96

set session("myobj") = server.createobject("someobj")

%>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » session的用法具体解说-ASP教程,ASP基础
分享到: 更多 (0)