C/S架构的程序,服务器端,对客户端用Web Service提供服务。现在的问题是,程序中,需要记录一个ID在服务器上作了些什么,如果一个ID多次登陆,那么统计,处理等都会出现混乱。请问应该如何防止一个ID多次登陆的情况?

解决方案 »

  1.   

    o(∩_∩)o...哈哈!!  ls  简单又实用!
      

  2.   

    1.数据库中有个是否在线字段
    2.登录的ID保存到配置文件中
    3.在代码中设置个登录ID的arraylist
      

  3.   

    B/S架构怎么处理呢?
    它没有application.close方法 哎呵呵
      

  4.   

    假设一个记录在线人员的表
    login
    (
    userid varchar(20),     /*人员代码*/
    loginDate datetime null  /*登录/更新时间*/)登录的时候,检查该表中是否存在该人员的ID,
    如果存在,进一步检查当前时间与登录时间的差,这个差可以定个大概时间,一般5到10分钟为宜,这里假定为5分钟,如果时间差不超过5分钟,则提示该用户已经登录,不允许重复登录。如果不存在该人员或者时间超过5分钟,则可以登录,同时更新登录时间(loginDate)
    客户端退出的时候,删除表中的相关记录。
    另外,客户端软件要每5分钟更新一下login中相关人员的loginDate
    一般来讲,这个时间差不能太短,太短会加大服务器的压力,太长也不行,如果客户端非正常退出,重新登录需要等待的时间太长。