欢迎来到天天文库
浏览记录
ID:26869260
大小:75.00 KB
页数:11页
时间:2018-11-29
《asp中session对象使用方法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一、Session对象可以使用Session对象存储特定用户会话所需的信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。Session对象最常见的一个用法就是存储用户的登录信息或者用户设置。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在Session对象中。注意:会话
2、状态仅在支持cookie的浏览器中保留。语法Session的集合
3、属性
4、方法:1.集合Contents包含已用脚本命令添加到会话中的项目。StaticObjects包含通过标记创建的并给定了会话作用域的对象。2.属性CodePage将用于符号映射的代码页。LCID现场标识。SessionID返回用户的会话验证。Timeout应用程序会话状态的超时时限,以分钟为单位。3.方法Abandon该方法破坏Session对象并释放其资源。4.事件global.asa文件中声明下列事件的脚本。
5、Session_OnEndSession_OnStart注:global.asa文件只有在网站根目录时才有效.举例:可以在Session对象中存储值。存储在Session对象中的信息在会话及会话作用域内有效。下列脚本演示两种类型的变量的存储方式。<%Session("username")="Janine"Session("age")=24%>但是,如果将对象存储在Session对象中,而且使用VBScript作为主脚本语言。则必须使用关键字Set。如下列脚本所示。<%SetSession("Obj
6、1")=Server.CreateObject("MyComponent.class1")%>然后,就可以在后面的Web页上调用MyComponent.class1揭示的方法和属性,其调用方法如下:<%Session("Obj1").MyMethod%>也可以通过展开该对象的本地副本并使用下列脚本来调用:<%SetMyLocalObj1=Session("Obj1")MyLocalObj1.MyObjMethod%>创建有会话作用域的对象的另一种方法是在global.asa文件中使用7、>标记。但是不能在Session对象中存储内建对象。例如,下面每一行都将返回错误。<%SetSession("var1")=SessionSetSession("var2")=RequestSetSession("var3")=ResponseSetSession("var4")=ServerSetSession("var5")=Application%>在将对象存储到Session对象之前,必须了解它使用的是哪一种线程模型。只有那些标记为“Both”的对象才能存储在没有锁定单线程会话的Sessi8、on对象中。若将一个数组存储在Session对象中,请不要直接更改存储在数组中的元素。例如,下列的脚本无法运行。<%Session("StoredArray")(3)="newvalue"%>这是因为Session对象是作为集合被实现的。数组元素StoredArray(3)未获得新的赋值。而此值将包含在Application对象集合中,并将覆盖此位置以前存储的任何信息。在将数组存储在Session对象中时,在检索或改变数组中的对象前获取数组的一个副本。在对数组操作时,应再将数组全部存储在Sessi9、on对象中,这样所做的任何改动将被存储下来。下列的脚本对此进行演示。---file1.asp---<%'CreatingandinitializingthearrayDimMyArray()RedimMyArray(5)MyArray(0)="hello"MyArray(1)="someotherstring"'StoringthearrayintheSessionobjectSession("StoredArray")=MyArrayResponse.Redirect("file2.asp")%10、>---file2.asp---<%'RetrievingthearrayfromtheSessionObject'andmodifyingitssecondelementLocalArray=Session("StoredArray")LocalArray(1)="there"'printingoutthestring"hellothere"Response.Write(LocalArray(0)&LocalArray(1))'Re-storingthearrayintheSes
7、>标记。但是不能在Session对象中存储内建对象。例如,下面每一行都将返回错误。<%SetSession("var1")=SessionSetSession("var2")=RequestSetSession("var3")=ResponseSetSession("var4")=ServerSetSession("var5")=Application%>在将对象存储到Session对象之前,必须了解它使用的是哪一种线程模型。只有那些标记为“Both”的对象才能存储在没有锁定单线程会话的Sessi
8、on对象中。若将一个数组存储在Session对象中,请不要直接更改存储在数组中的元素。例如,下列的脚本无法运行。<%Session("StoredArray")(3)="newvalue"%>这是因为Session对象是作为集合被实现的。数组元素StoredArray(3)未获得新的赋值。而此值将包含在Application对象集合中,并将覆盖此位置以前存储的任何信息。在将数组存储在Session对象中时,在检索或改变数组中的对象前获取数组的一个副本。在对数组操作时,应再将数组全部存储在Sessi
9、on对象中,这样所做的任何改动将被存储下来。下列的脚本对此进行演示。---file1.asp---<%'CreatingandinitializingthearrayDimMyArray()RedimMyArray(5)MyArray(0)="hello"MyArray(1)="someotherstring"'StoringthearrayintheSessionobjectSession("StoredArray")=MyArrayResponse.Redirect("file2.asp")%
10、>---file2.asp---<%'RetrievingthearrayfromtheSessionObject'andmodifyingitssecondelementLocalArray=Session("StoredArray")LocalArray(1)="there"'printingoutthestring"hellothere"Response.Write(LocalArray(0)&LocalArray(1))'Re-storingthearrayintheSes
此文档下载收益归作者所有