主题:  这是怎么回事啊?好奇怪_Session 变量问题

dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#12004/7/8 16:13:41
<%
if Request.Form("UserQuit") Then
    Session("Passed")=true
    session.Abandon()
    response.Write("用户成功退出登录!")
end if
response.Write Session("Passed")
'...............省略下面代码
%>
退出登录的网页,通过表单的隐藏域提交UserQuit参数(UserQuit的值为TRUE)给上面的代码。

上面的代码response.Write Session("Passed")仍输出TRUE,session.Abandon()难道不起任何作用吗?



dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#22004/7/8 16:24:12
更直接的就是这样:
请测试下面的代码:
<%

    Session("Passed")=true
    response.Write Session("Passed")
    session.Abandon
    response.Write Session("Passed")

%>

为何二次response.Write Session("Passed")都输出TRUE?
衙句session.Abandon不起作用????



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#32004/7/8 16:34:38
首行加上
response.buffer=false



dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#42004/7/8 20:21:00
janlay在上个帖子中说
引用:
首行加上
response.buffer=false


加了也不行。。。。怪啊



浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#52004/7/9 9:41:30
我也测试了一下,就是不管用。



dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#62004/7/9 10:34:51
abandon是废除了当前的SESSION,但好象SESSION变量还在。

使用Session.abandon前后的Session.SessionID可以看出二者是不同的,但是只要不关闭浏览器,Session变量还是保持原值。

原来我以为Session.abandon是和关闭浏览器,再打开是一样的,看来不是。(按Session.abandon的介绍来看应与我的想法一致吧?)不知道这是不是IIS或ASP的一个大大的BUG?

因为有些书上介绍Session.abandon的例子时,就是在其前后给个值,然后显示出不同的内容。不知道为何我就试不出书中的结果呢?

难道是编书人也象我一样想?但没试过?