Session不会乱。你们认为Session,理由是什么呢?

解决方案 »

  1.   

    我们上网一顿猛查 发现 session 串号 现象 和我们现在发现的 问题 几乎一模一样,因此得出的判断。
    如果 不是这个问题,请问您估计是什么 原因引起的?
      

  2.   

    我们曾经怀疑是 static 过多导致的问题,,,后来 把static 去掉之后,发现扔未解决。
    好愁人啊
      

  3.   

    Session不会乱。打印出你们的日志看看
      

  4.   


    我不瞎猜。你应该动手进行测试,然后再提出问题。就算是你们觉得是“Session串了”,也应该动手测试出来,而不是瞎猜。
      

  5.   

    “A选择的商品Aa 后 ,B选择商品Bb,,,返回的菜单中 显示的是商品Aa其他人也是这样 商品选择后都 相互改变了。”这种问题难道不能调试跟踪么?不能打印日志么?甚至不能写一个测试程序么?难道去搞清楚是不是Session乱的问题也需要“上网一顿猛查”么?你们公司找一个有实践项目经验的 asp.net 程序员吧!
      

  6.   

    好吧,,,被 喷了,,,我刚毕业,,,没有ASP.NET 的开发经验,,,而且 这个 项目 还真不是我做的,,,出现这个问题,,,实在是让我很棘手啊可以 教教 我么?
      

  7.   


    这个 实在web服务器上面 发现的问题,我们就没有提交到 数据库,所以里面是查不到数据的
    需要 我把程序 运行一遍(含错误),然后提交 查看么?
      

  8.   

    session不会混乱的,因为每个用户有自己的sessionID,只有当多个用户的sessionId相同时,才会混乱,但是在不同的电脑上,不同的浏览器中,sessionID不可能会相同的。你应该将这块的代码贴出来,可能是代码处理有问题
      

  9.   

                 User currentUser = (User)(Session["UserInfo"]);
                    czybh = currentUser.UserID.ToString();//操作员编号
                    czymc = currentUser.TrueName;//操作员名称
                    czybmid = currentUser.DepartmentID;//操作员部门id
                    czybmmc = currentUser.BM;//操作员部门名称
                    czypqid = currentUser.PQID;//操作员片区id
                    czypqmc = currentUser.PQ;//操作员片区名称
                    czybzid = currentUser.BZID;//班组id
                    czyckmc = currentUser.CKMC;//仓库名称
                    czyckid = currentUser.CKBH;//仓库编号                ygbh = czybh;
                    bmid = czybmid;
                    pqid = czypqid;
                    bzid = czybzid;   //隐藏按钮接收session值
            protected void Button100_Click(object sender, EventArgs e)
            {
                if (hidden1.Value == "0")
                {
                    this.ASPxButtonEdit2.Text = Session["khmc"].ToString();
                    this.TextBox2.Text = Session["dzdh"].ToString();
                    this.TextBox3.Text = Session["khsh"].ToString();
                    this.TextBox4.Text = Session["yhzh"].ToString();
                    khbh = Session["khid"].ToString();
                    khbj = Session["khbj"].ToString();
                    if (khbj == "")
                        khbj = "-1";                this.ASPxButtonEdit3.Text = Session["khmc"].ToString();
                    this.TextBox6.Text = Session["dzdh"].ToString();
                    this.TextBox7.Text = Session["khsh"].ToString();
                    this.TextBox8.Text = Session["yhzh"].ToString();
                }
                if (hidden1.Value == "1")
                {
                    this.ASPxButtonEdit3.Text = Session["khmc"].ToString();
                    this.TextBox6.Text = Session["dzdh"].ToString();
                    this.TextBox7.Text = Session["khsh"].ToString();
                    this.TextBox8.Text = Session["yhzh"].ToString();
                }
                if (hidden1.Value == "2")//员工选择
                {
                    this.ASPxButtonEdit4.Text = Session["bmmc"].ToString();
                    this.TextBox22.Text = Session["pqmc"].ToString();
                    this.TextBox30.Text = Session["ygmc"].ToString();
                    ygbh = Session["ygbh"].ToString();
                    bmid = Session["bmid"].ToString();
                    pqid = Session["pqid"].ToString();
                    bzid = Session["bzid"].ToString();
                }
            }
    这时我测的部分 session代码,,不知道贴的对不对 你看一下吧
      

  10.   

                 User currentUser = (User)(Session["UserInfo"]);
                    czybh = currentUser.UserID.ToString();//操作员编号
                    czymc = currentUser.TrueName;//操作员名称
                    czybmid = currentUser.DepartmentID;//操作员部门id
                    czybmmc = currentUser.BM;//操作员部门名称
                    czypqid = currentUser.PQID;//操作员片区id
                    czypqmc = currentUser.PQ;//操作员片区名称
                    czybzid = currentUser.BZID;//班组id
                    czyckmc = currentUser.CKMC;//仓库名称
                    czyckid = currentUser.CKBH;//仓库编号                ygbh = czybh;
                    bmid = czybmid;
                    pqid = czypqid;
                    bzid = czybzid;   //隐藏按钮接收session值
            protected void Button100_Click(object sender, EventArgs e)
            {
                if (hidden1.Value == "0")
                {
                    this.ASPxButtonEdit2.Text = Session["khmc"].ToString();
                    this.TextBox2.Text = Session["dzdh"].ToString();
                    this.TextBox3.Text = Session["khsh"].ToString();
                    this.TextBox4.Text = Session["yhzh"].ToString();
                    khbh = Session["khid"].ToString();
                    khbj = Session["khbj"].ToString();
                    if (khbj == "")
                        khbj = "-1";                this.ASPxButtonEdit3.Text = Session["khmc"].ToString();
                    this.TextBox6.Text = Session["dzdh"].ToString();
                    this.TextBox7.Text = Session["khsh"].ToString();
                    this.TextBox8.Text = Session["yhzh"].ToString();
                }
                if (hidden1.Value == "1")
                {
                    this.ASPxButtonEdit3.Text = Session["khmc"].ToString();
                    this.TextBox6.Text = Session["dzdh"].ToString();
                    this.TextBox7.Text = Session["khsh"].ToString();
                    this.TextBox8.Text = Session["yhzh"].ToString();
                }
                if (hidden1.Value == "2")//员工选择
                {
                    this.ASPxButtonEdit4.Text = Session["bmmc"].ToString();
                    this.TextBox22.Text = Session["pqmc"].ToString();
                    this.TextBox30.Text = Session["ygmc"].ToString();
                    ygbh = Session["ygbh"].ToString();
                    bmid = Session["bmid"].ToString();
                    pqid = Session["pqid"].ToString();
                    bzid = Session["bzid"].ToString();
                }
            }
    这时我测的部分 session代码,,不知道贴的对不对 你看一下吧
    这部分的代码看不出什么问题,你将所有值都存在了session中,Session["khmc"]等等这些你及时的更新了吗,你有必要在本地调试一下这些session的值,有可能本身这些session传过来就不是你想要的东东
      

  11.   

    这个跟static过多还是较少无关
    BS模式下,你就不应该用static
    除非你确定一个变量,在所有用户用的时候都是用同一个值,比如数据库连接字符串
    否则只要定义成static,就必然出现互相窜的情况
      

  12.   

    既然已经使用了session,就都用session,不要再用static变量往session里传值
      

  13.   

    也就是说 有session 时,,,static 是不能用的?
      

  14.   


    你这什么理解能力?人家说的是 有Session 作为会话状态,不需要用Static作为状态保持,再着 Static 变量 是全局的共享的,几个人同时使用,肯定会使Static变量混乱。
      

  15.   

    有没有session,static也是不能乱用的
    因为你一个变量是static的,则所有用户看到的数据就都是一样的.
    如果服务器IP,数据库连接串这些东西要展示给用户,你用static没有任何问题,反正本来也只有1个,大家看到的是同样的是正常的
    而如果是当前用户名,你放static变量里,那能对吗
      

  16.   


    你这什么理解能力?人家说的是 有Session 作为会话状态,不需要用Static作为状态保持,再着 Static 变量 是全局的共享的,几个人同时使用,肯定会使Static变量混乱。
    好吧 我又小白了,,,受教了
      

  17.   

    我们 现在 把static 去掉了 ,有session 传值,不使用 static了,,,测试一下,好像好了。
    观察几天 就结贴,,,先谢谢啊!!!