Application.Lock (); 
Application["user_sessions"] = (int)Application["user_sessions"] + 1; 
conn1 co=new conn1 ();
co.comm ("delete from online where hy='"+Session["user"].ToString ());
 Application.UnLock (); 
CONN1是我写的一个类!
COMM是其的一个方法,用来热行SQL语句!

解决方案 »

  1.   

    session_end时,Session["user"]是没有值的了,应该通过session.sessionid来作为删除条件
      

  2.   

    我刚才试了一下儿,我在在线用户表回了一个字段专门存SESSIONID,登陆成功时向在线表中添加SESSION[“USER”]和SESSIONID
    Session_End中用SESSIONID做条件删,但还是不成功,请问怎么回事儿呀!
      

  3.   

    session_end已经没有session
    你只有在Session_OnEnd时才能得到session值!
      

  4.   

    Session_OnEnd在那儿呀???????
      

  5.   

    那你的session_end在那里呀!你在他上面添个Session_OnEnd不得拉
      

  6.   

    你跟踪试试看不就知道那个时候到底还有没有值了?我以前用SessionID在Session_End的时候执行删除是没有问题的,但是Session_End并不可靠,服务器一忙就会不执行……所以我又只好给他定时清除过期记录