后台代码这样设置的sql语句 if (Session["salesMan"].ToString() == "ck1")
                sql = "select  id, zdTime, productName, ……"但是运行时发现哦儿会出现
commandtext属性尚未初始化的异常
是不是服务器的session值并不是一直保存的
这个问题应该怎么解决啊

解决方案 »

  1.   

    session有超时,是不是超时了!
      

  2.   

    默认配置下,SESSION在关闭浏览器失效。在过了超时时间后会失效。
    意外情况:
    1。IIS长时间没有访问,IIS进程自动销毁,SESSION失效。
    2。默认SESSION存放于内存中,任何让内存崩溃或溢出的操作都会让SESSION失效
      

  3.   

    session 超市 或者访问量大的情况下 丢失。你直接判断 Session["salesMan"]==null是否等于空
      

  4.   

    页面载入的时候检查了Session["salesMan"]==null
    如果为空则提示重新登录
    但是实际情况是没有提示重新登录而是直接报 commandtext尚未初始化异常另外我在网速查的情况下会遇到这个情况  网速好的时候没有见过
    这个问题会跟网速有关系么
      

  5.   

    先设置Session有效期,配置IIS的时候,也是要设置的。
    参考
      

  6.   

    难道是页面再入前检查Session["salesMan"]==null
    时还没有失效  等执行到
    if (Session["salesMan"].ToString() == "ck1")
                    sql = "select  id, zdTime, productName, ……"
    失效了?
    不至于这么悲剧吧
      

  7.   

    commandtext属性尚未初始化的异常为什么你会觉得这个异常跟Session有关?
    应该是你的SqlCommand没有初始化完全吧,把你的代码贴全
      

  8.   

    session在一个会话期间一直存在,结束后就被清除,是服务端的用户变量,生命周期默认是20分钟,这跟网速是没有关联的
      

  9.   


            if (Session["company"].ToString() == "管理部" || Session["company"].ToString() == "北京公司")
            {
                sql = "select  ……"; 
            }
            else if (Session["company"].ToString() == "仓库")
            {
                if (Session["salesMan"].ToString() == "ck1")
                    sql = "`````";
                else if (Session["salesMan"].ToString() == "ck2")
                    sql = "``````";
                else throw new Exception("salesMan出错");        }随机性的出现salesMan出错
      

  10.   

    页面load的时候会验证这个if (this.Session["salesMan"] == null)
            {
                this.Response.Write("<script language=javascript>alert('登陆超时!');</script>");
                return;
            }