比如说,有3个人同时可以使用相同或者不同的登陆名登陆,但是只限于3个人登陆,如果出现第四个人就显示登陆人数已满之类的。类似很多有上限的游戏服务端。试过用asp.net 全局的application,可以计数,触发全局变量制改变的session_end事件是在页面page_unload里调用的。不过测试下来发现page_load事件会跟着page_onload事件一起顺序触发。麻烦各位高手,指点一二。

解决方案 »

  1.   

    application已经可以完成LZ的要求了啊。LZ想换别的方法?
      

  2.   

    现在的问题不是说application不好用,而是无法知道session_end 被触发的时间。
    我原来以为page_unload事件是在当前浏览器页面被关闭时执行的,但是发现并不是这么回事。。因为主要的计数功能都是靠application控制的,需要精确控制统计值,而不是等session 对象失效后再去调用。写入数据库和全局application的问题是一样的,只能记录登陆状态,无法注销用户。因为浏览器软件你不可能让每个人都去点注销吧。
      

  3.   

    楼主想多了,要精确控制,普通网页已经不可以了。试试activex、silverlight
      

  4.   

    那应该还有什么办法可以控制吧,activex真的可以控制? 当然如果可以能用asp.net自身的东西解决的话,那是再好不过了
      

  5.   

    web程序是无状态的,只能等Session过期
    Session退出时实现人数统计不准确。非法关机或关闭IE不会执行  
    要记录用户日志和操作时间,再用定时器刷新计算用户  
    已经有固定时间没有活动的用户,然后删除