B/S结构的聊天室
LOGIN时:session.add("xx",xx)
再打开一个IE,LONGIN::session.add("xx",yy)
为什么后面登录的session会前面的覆盖。。
如果我想标示两个该怎么写?例如:聊天室里面多个人说话怎么去标示是哪个用户在说话?

解决方案 »

  1.   

    你的Session里可以存放的是一个User对象的引用那么你这个User对象可以有很多属性来标识其当前状态
      

  2.   

    一个用户一个session:session.add("xx",xx) 
    session.add("yy",yy) 
      

  3.   

    尽量少使用session尤其是多人聊天室里
      

  4.   

    可以用application来记录当前说话的人
      

  5.   

    因为 sessionid 是在 Cookie 里的
    所以在“某些情况”下你在一台计算机开多少个 ie 都是一个 session在装个其他非ie内核的浏览器就好了。
      

  6.   

    没遇到过你说的情况.每个新页面的Session都是不一样的.
    要不你换个写法Session["username"]=userName;试下.
      

  7.   

    你先判断一下Session里是否有值不就行了?
    if (string.IsNullOrEmpty(Session["xx"])) {
        Session["xx"] = xx;
    } else {
        //实现你的逻辑,是先进先出,还是先进后出。
    }
      

  8.   

                        ArrayList list = Application.Get("GLOBAL_USER_LIST") as ArrayList;
                        if (list == null)
                        {
                            list = new ArrayList();
                        }
    同意3楼的