以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Dot NET,C#,ASP,VB 』 (http://bbs.xml.org.cn/list.asp?boardid=43) ---- session的用法具体解说 (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=14214) |
-- 作者:Coral -- 发布时间:2/2/2005 10:22:00 AM -- session的用法具体解说 转自:中国站长贴吧 Session 对象 当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。 Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。有关使用 Session 对象的详细信息,请参阅“ASP 应用程序”部分的“管理会话”。 注意 会话状态仅在支持 cookie 的浏览器中保留。 语法 集合 Session_OnEnd 注释 <% 但是,如果您将对象存储在 Session对象中,而且您使用 VBScript 作为主脚本语言。则必须使用关键字 Set。如下列脚本所示。 <% Set Session("Obj1") = Server.CreateObject("MyComponent.class1") %> 然后,您就可以在后面的 Web 页上调用 MyComponent.class1 揭示的方法和属性,其调用方法如下: <% Session("Obj1").MyMethod %> 也可以通过展开该对象的本地副本并使用下列脚本来调用: <% 创建有会话作用域的对象的另一种方法是在 global.asa 文件中使用 <OBJECT> 标记。 但是不能在 Session 对象中存储内建对象。例如,下面每一行都将返回错误。 <% 在将对象存储到 Session 对象之前,必须了解它使用的是哪一种线程模型。只有那些标记为“Both”的对象才能存储在没有锁定单线程会话的 Session 对象中。详细信息, 请参阅“创建 ASP 组件”中的“选择线程模型”。 若您将一个数组存储在 Session对象中,请不要直接更改存储在数组中的元素。例如,下列的脚本无法运行。 <% Session("StoredArray")(3) = "new value" %> 这是因为 Session对象是作为集合被实现的。数组元素 StoredArray(3) 未获得新的赋值。而此值将包含在 Application 对象集合中,并将覆盖此位置以前存储的任何信息。 我们极力建议您在将数组存储在 Session对象中时,在检索或改变数组中的对象前获取数组的一个副本。在对数组操作时,您应再将数组全部存储在 Session 对象中,这样您所做的任何改动将被存储下来。下列的脚本对此进行演示。 ---file1.asp--- 'Storing the array in the Session object Response.Redirect("file2.asp") ---file2.asp--- 'printing out the string "hello there" 'Re-storing the array in the Session object 示例 Session("name") = "MyName" |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
453.125ms |