asp.net如何判断某一个用户是否在线?能不能用Session实现?当每一个用户登录的时候Session会不会替换掉呢?比如...if(trur)
{
Session["user"]=数据库中用户表的id
}比如另外一个用户登录的时候Session["user"]会不会替换掉了呢,如果这样的话永远只有一个用户在线了?重点是每一个问题?

解决方案 »

  1.   

    Session不行,可以用Global.asax里的Application_BeginRequest事件里面用Application。
      

  2.   


    Session是存在于“单个会话”中的,不可能看到其它用户。如果一个用户在自己的电脑上分别打开两个ie窗口,他们都访问你的应用程序,这时候两个Session分别运行在不同的会话环境中,这就是会话与应用程序域的区别。应用程序域,可以使用Application,或者更好地使用Global.asax的代码部分中的静态变量。当然仍然需要对不同的用户建立对象(集合)。写在数据库中,也可以。
      

  3.   

    asp.net如何判断某一个用户是否在线? 
    这好像是一个比较困难的话题!!
      

  4.   

    不可能从Session来判断,可能你对Session还不理解.只能用数据库,可在Global.asax里写些代码,用户访问时写入数据库,(含用户名)退出时作标记
      

  5.   

    Global.asax也不知道那一个用户还在不在线啊,里面应该写些什么东东呢?
      

  6.   

    在Global里面开一个容器储存已经登录的用户名在用户登录的时候先检查容器,如果已经存在就表情重复登录在Session或者用户注销的时候把该用户名从容器里面去掉
      

  7.   

    Session是客户端的对象,是存在客户的电脑上的,不会互相替换掉,APPlication才是服务器的对象,存在服务器上,但是会被替换掉的.正确的方法是用数据库保存,在线就存入数据库,离线的时候就从数据库删除.
      

  8.   

    应该通过数据库来判断!
    Session是单个会话的,所以不会被替换掉的
      

  9.   

    Session不行,还是存个标记在数据库好
      

  10.   

    Application吧....做聊天室的时候就需要用到这个啦.