* 说Session大家都知道也都用过(做asp.net我遇到过没用过Cookies的,还没遇到过没用过Session的),Session的保存方式默认是在内存中,更确切的说是在 用户A SessionID:goly4y550qfsmy554cm3k155 Key:LoginOK Value:true Key:UserName Value:春哥 用户B SessionID:v4h40355mnhk3k451nfibj55 Key:LoginOK Value:true Key:UserName Value:曾哥 从上面的例子就可以看出为什么用户A登录后的 Session[“UserName”]是春哥,而用户B登后的Session[“UserName”]是曾哥了。 话接上题,因为每次会话请求都会生成一个新的唯一的SessionID,所以当关闭浏览器的时候,当前的SessionID还是存在于服务器上的,Session并没有丢,但是重新又建立请求时又生成了新的SessionID所以以前的Session当然是取不到的了。(IE8打开页面A后再打开页面B是同一个SESSIONid,所以会发生双开覆盖用户信息的问题。可以通过文件-新会话页面方式开启新的会话页面。而IE7以下不会这样情况)。 最后说一下基本上Session不能共享也是因为这样的原因即每个请求都会是一个新的会话SessionID。 (责任编辑:admin) |