把用户名存在Session里面,Session_End的时候还能访问Session

解决方案 »

  1.   

    我也想知道有什么办法可以精确计算在线人数的;
    最好使用数据库的
    Web环境很难缩短Session超时时间能得到更精确的数据但是用户体验不佳,可以再在页面上加后台刷新Session的脚本,当然比较好的方案是不缩短Session超时时间而用后台脚本定时汇报用户在线情况。
      

  2.   

    在文件golbal.asax里面包含响应应用程序级事件 包括SESSION 用户回话.在这里建立application对象.统计在线人数.
      

  3.   

    我的一个在线聊天的程序 是在页面body的unload事件里写的 通过ajax异步刷新一个服务器的全局变量来统计聊天室里的在线人数的
       不过有个问题是点击页面的刷新按钮后unload事件也会执行....
       在登录聊天室时将Session.SessionID写到地址栏中去 这样在客户端也可以获取
       eg: if(LoginSuccess){Response.Redirect("ChatRoom.aspx?"+Session.SessionID);}
       在退出聊天室时使用window.location.href.split('?')去得到SesionID 异步提交到服务器去更新用户列表..
       可能和你想要实现的效果不同...反正也贴在这了...