关于Sessin清空问题
用.NET2003 开发了一个OA系统,当修改了一个用户的权限后,在某台机器的浏览器上,看到的不是修改后的权限。大部分的浏览器看到的都是修改后的权限。
关闭浏览器后在打开还是一样,说明关闭浏览器并没有情况Session,各位哥哥哪位知道啊!!
------解决方案--------------------Session.Clear()
------解决方案--------------------ie自带的缓存?
------解决方案--------------------关闭浏览器并不会执行你的代码,你试试放个按钮,按钮事件中执行清空SESSION,再看看是否能清空
------解决方案--------------------像是缓存问题
------解决方案--------------------你的大部分浏览器上正常,说明代码应该没问题,但有一台机器上有问题,可能跟cookie有关系,查看该机器是否禁用cookie,Session有好几种模式,其中默认的就是要用到cookie的模式,如果cookie禁用了,Session也会不起作用
------解决方案--------------------用
Response.Cache.SetCacheability(HttpCacheability.NoCache);
清空缓存试试!~!
------解决方案--------------------只是他的没运行吧?
------解决方案--------------------关闭IE是客户端的操作,事情只是客户端的,而Session.Clear()这是服务器端的操作,两者不是同一类型,所以关IE直接操作不了(除非用非常手段).
------解决方案--------------------Session_End
只有在Session超时或用户调用了Session.Abandon()方法才触发
------解决方案--------------------1,重新登录后还是那样?
我认为:修改权限后,如果重新登录,权限数据就会重新初始化啊
2,你的大部分浏览器上正常,说明代码应该没问题,但有一台机器上有问题,可能跟cookie有关系,查看该机器是否禁用cookie,Session有好几种模式,其中默认的就是要用到cookie的模式,如果cookie禁用了,Session也会不起作用
说的有道理
------解决方案--------------------Session.Abandon()
------解决方案--------------------不清空,重新附一个值不就行了...万一不行用cookie
------解决方案--------------------关注
------解决方案--------------------Session.RemoveAll();
------解决方案--------------------这个问题看来是IE的一个BUG,我重新安装IE后基本解决了,但是还有一种情况下没有清空,就是如果打开了一个毫不相关的web页面,哪怕是MSDN的帮助,都会使Session不清空,如果没有其他的IE页面打开就一切正常了。
你说的对,
因为session存在与此值初始化后到页面关闭
只要IE不关闭,同时打开了其他页面
session也是存在的,
遨游等其他的tab页ID都是共享session的,除非整个遨游关闭