日期:2014-05-20  浏览次数:20470 次

【百分求教】多个页面的Session问题,急。
小弟使用asp.net开发了一个管理系统,登陆用户的id我存放在session里面了,现在客户要求在一个终端可以登陆两个用户,但是现在的问题是,开两个页面,session[ "username "]是一样的,第二个页面的session[ "username "]会覆盖第一个页面的session[ "username "],造成两个页面变成了一个用户。我不知道怎么根据页面不同去区分session,谢谢各位大侠,帮我看看这个问题应该怎么解决。
谢谢了!

------解决方案--------------------
为每次登录的用户生成随机的唯一串号
在参数里传递这个串号来区别
session这里就不要用了
------解决方案--------------------
用索引号区分
Session[ "1 "] = UserID1;
Session[ "2 "] = UserID2;
------解决方案--------------------
可以使用cookie保存用户信息
------解决方案--------------------
判断一下
if(Session[ "username "].tostring == username.text)
{
Session[ "username "] = username.text;
}
else
{
Session[ "user2name "] = username.text;
}
要是再要求多的话,那就费了。
------解决方案--------------------
Session.SessionID 生成唯一序号 试试管用吗
------解决方案--------------------
楼上都说了,楼主还是踏踏实实的去改代码吧,不要指望有什么捷径
要为你的设计不合理或者需求的不明确付出代价
------解决方案--------------------
一定要用session的话,试试用sessionid+username作为session的键值,这样可以避免多用户登录下session被覆盖,在session超时前也可以区分出不同的登录用户
------解决方案--------------------
你那个客户比较变态.
------解决方案--------------------
其实你是多个窗口分别登陆的话Session使用IE登陆是可以区分清楚的。
别的浏览器有些可以,有的不可以。
但是,就算你使用了IE登陆,如果你使用了如Ajax的话,也会发生覆盖的情况。

上面一些网友提到的,使用不同的键来区分,这也没有解决问题。
其实,只要SessionID一样的话,都是没有解决问题的。

还是使用vengair的方法来解决吧。
------解决方案--------------------
试下可不可以将写入session内容变一下来区分