是写在global.asax里的,顶,谁了解啊

解决方案 »

  1.   

    可能更Session的超时特性有关,假设你设置Session的Timeout为20分钟的话,则如果在线的人关闭了你的网站,服务器还是要在20分钟后才触发Seesion的OnEnd事件,所以只要时间稍稍一长,就很容易出现你说的现象。
      

  2.   

    对你的问题作个简单的假定,就很容易理解:
    假定你的1.Session的Timeout=20;2.服务器重新启动,并只考虑从启动开始的第一个20分钟;3.假定在第一个20分钟里每隔1分钟就上来50个人同时下去50个人,则:
    第1分钟的时候,online=50;
    第2分钟的时候,online=1000;(因为退出去的前10个人还要在20分钟才能被减去)...,同理第20分钟的时候。你的online值就达到了:20*50=1000人,但实际在线人数只有50人;再随着时间的推移,online值还会增大,而实际在线人数并不一定需要增大。
      

  3.   

    jjcccc() 说得有道理。
      

  4.   

    有什么办法解决吗?的确我的Session值设的很大(原来如此),但如果设的太小的话,特别是小说区的,人家一篇小说看完了30分钟过去了,然后按回复,然后发现他/她的登陆已经失效...有什么办法一举二得吗?
      

  5.   

    可以试试用cookies 保存用户名和密码.
    session只判断是否在线.
      

  6.   

    也不对呀,如果游客没登陆的话,那么他的TIME值就很小了,应该就是默认的了呀
      

  7.   

    回复人: hishopsoft(丹青,hishopsoft.com) 我怕好多人禁用cookies的说
      

  8.   

    由于http协议本身的特点(无连接、无状态),所以得到绝对准确的在线人数是几乎不可能的,只能近似。