清空一个Session
Session["name"]="";
不再使用一个Session
Session["name"]=null;
session.abandon 销毁Session对象,释放内存
Session.Contents.Remove("mysession") 清除Session对象的内容,但Session对象任然存在
Session.Contents.ClearAll 清除所有Session对象的内容
Session对象的Contents.Remove("变量名")和Contents.Removeall()方法与Application对象的基本上没什么区别,为帮助理解,大家可以参照上面的例子将Application改为Session。这里要说明一下的是Contents.Removeall()和Abandon()的区别,执行这两个方法都会释放当前 用户会话的所有Session变量,不同的是Contents.Removeall()单纯地释放Session变量的值而不终止当前的会话,而Abandon()除了释放Session变量外还会终止会话引发Session_OnEnd事件,希望大家注意两者的区别。
Session的清空问题
没法简单说,各位只好忍着点,耐心点看看了~
如果看这个太累,可以用QQ或者 MSN直接问,先谢谢各位了 ~~``
QQ:93239847 MSN:coody_0102@hotmail.com
导航栏上有个内部办公(flash做的),点击进入页面(其中也有导航栏),首先用session进行判断,如果是已经登陆的继续,否则转到登陆页面,登陆成功将值session保存下来,再转到管理页面,在管理页面中有个”退出系统”,点击后将session值清空,转到首页.这是比较简单的一般的判断方法,用了n久,没有问题~.
一、当我进入管理页面时,点击退出系统后转到首页,然后再点击”内部办公”,进去后,操作完毕后,点”退出系统”,转到首页,再点内部办公,弹出登陆页面,,~
二、当我进入管理页面时再点内部办公,再点退出系统,转到首页,问题来了,再点击内部办公,进去了~~~~如果再刷新一次,就会弹出登陆页面.奇怪~
也就是说,这个登陆页面晚来了一点~~
本人以尝试如下:
将session值输出,在管理页面的最开始处,设置了一个输出口
首页上设置了一个输出口:
然后我以上面的第二种方式操作,就是多点一次内部办公,结果为首页上的session为空了,但是点击内部办公session依然有值,
换个session变量,从头到尾判断一遍,无效~
将session的清空直接写在首页,无效
改变session的清空方式
1、 session.abandon()
2、 set session(“var”)=””
3、 session(“var”)=””
--------------------------无效
改变页面的跳转方式,response.redirect,location.href,window.open---无效
还有很多测试记不住了 现在很是奇怪~~
从上面的很多测试中我想问:是不是跟flash有关;页面是以包含方式写的,就是导航栏是一个top.asp ,然后 其他文件include it。是不是跟这也有关
还有一点,相同的代码,相同的页面结构在另一个flash上没有问题~~~`
昨天技术主管帮我弄了将近两个小时也搞不懂是为什么~~~``
应该是缓存没清空把
你在页面前面加
response.Expires=-1
response.AddHeader "Pragma","no-cache"
response.AddHeader "cache-control","no-store"
清空下呢
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
这个问题如果你换个用户登陆,不清空内存可能会没管理员权限的进入看到管理员的界面(如果刚才是管理员登陆),所以基本上要在很多页面前清空缓存