1、可以用Session,在global.asax的Session_Start事件中将该用户加入数据库在线用户表中,如果该用户未登录,用SessionID作为他的标识字段,登录后可以将此标识用他的登录名替换。在global.asax的Session_End事件中将已退出用户从数据库中删除。
2、你没说清楚,是一个用户只允许登录一次,还是一个用户不能同时登录几次?

解决方案 »

  1.   

    1、设置一个标志位,用户登录时设为1,如果检测其为1则不准该用户再登录。2、在用户退出和Session失效的时侯对标志位变反。
      

  2.   

    可以用session+数据库,一个字段放用户名,一个字段放刷新页面的时间,每次页面刷新的时候就读取一次数据库,把过期(时间段自己定义)的用户删除,检查刷新页面的用户是不是注册用户;这样
    1、可以知道总在线人数;
    2、可以知道注册用户在线人数;
    3、可以知道未注册用户在线人数。
      

  3.   

    这么小的数据量,用XML+session好了。用fickle(西楼望月)的思路,再加上gOODiDEA(无语)的标志位方法,能满足你的要求。
      

  4.   

    用response.IsClientConnected 看看