我做一个登录功能,如果用户登录时就把表UserInfo里面的State字段改成1,默认为0.这样其他用户登录时就会提示该用户已经登录。然后用户注销时,再改为0.可是如果用户直接关闭浏览器,怎么办呢。 这种情况下怎么才能修改State字段为0呢。

解决方案 »

  1.   


    没法那么准确。。只能做个记录表。。记录用户操作用AJAX轮询state为1的用户。当用户N分钟没有活动记录时。。设这个用户的state为0、。、、、
      

  2.   

    关闭页面的时候调用onbeforeunload 然后在里面写ajax进行数据库更改
      

  3.   

    写在Global.asax文件的
    void Session_Start(object sender, EventArgs e) 
        {
            // 在新会话启动时运行的代码    }
      

  4.   

    记录一个日志,看看如果用户10分钟还没有任何的操作的话就后台写个windows服务去修改这个字段。