关于Session的奇怪现象

今天和同事讨论Session的问题...因为最初做ASP的时候,用Session做验证,做过实验弹出窗口后Session就会消失..我也一直坚信在Session页弹出的窗口肯定Session会消失..

但是今天,和单位同事讨论后,同事要求再次验证答案是否如我所说..我也满怀信心的做实验..我的答案还是和以前一样..但是同事的机子上无论怎么弹出页面,弹出多少页面,Session始终存在..为了彻底证明,先后用了五台电脑..只有我的机子不行.其他都没问题..那肯定就是我的问题了..于是,先将IE设置为默认属性,重新启动IIS,上网查找资料.终于被我发现一篇文章,说的是Session的原理,因为Session是不能跨web应用程序的(这个我知道^_^)..说是要建立虚拟目录(为了方便我们是用ASP页面测试),于是我建立虚拟目录..访问..OK..正常..呵呵..高兴啊..终于搞定了..于是将Session的大道理给同事臭了一大堆,可是最后他们测试的发现,他们不需要建立虚拟目录也是不会消失啊..汗,再次失败..

回想刚才自己操作的步骤和同事的操作步骤,发现有一点不一样..因为我习惯用快捷键操作,所以我每次浏览IE的时候,用win+E打开我的电脑,然后在地址栏中输入地址..而同事是用IE打开后输入地址(^_^这么小的问题都被偶发现了.想不佩服自己都不行)..呵呵.于是按照同事的操作方法..OK..没问题..一切正常了..为了测试.NET是否也存在如此情况,再次做了测试..结果发现和ASP下的情况一样..我想这应该IE机制的问题吧...如果你有的解答可以一起讨论哦..

当然,如果大家能自己动手试一下..你会发现这个问题很奇怪..很有趣..做一个Seesion.aspx,里面设置一个Session["aa"] ="aa",然后在做一个连接到另外页面的,连接用_blank打开...然后直接用Win + E 快捷键,输入你刚才的实验站点..点击那个_blank连接弹出的页面中,你就会看到Session消失...如果用IE打开刚才的实验站点..则打开连接中的Session不会消失..如果是ASP测试的话建不建虚拟目录都无所谓,文件只要放在web根目录下就好了..

哈哈..大功告成...就是因为这么一个小小的区别..一个小小的习惯让偶饮恨这么多年...真是失败啊...如果你对Session有什么不同的看法可以一起讨论哦

posted on 2005-08-19 18:27  难得一蠢  阅读(5609)  评论(17编辑  收藏  举报