网站公告列表

  没有公告

加入收藏
设为首页
繁体中文
您现在的位置: 网上见社区 >> 电脑 >> 编程代码 >> 文章正文
  asp实现在线人数           ★★★ 【字体:
asp实现在线人数
作者:佚名    文章来源:转帖    点击数:    更新时间:2006-9-8    
   前两天有网友问到这个问题,我这里来回答一下。
   从逻辑上说,这个问题很简单。那就是来一个用户,在线人数加一,离开一个用户,在线人数减一。现在首先需要解决的问题是如何知道用户的进入和增加。

   在asp中,用户进入访问页面的时候,会触发一个事情,事件名称是session_onstart,在离开的时候(准确地说,是在一定的时间内没有访问页面数据,缺省的时间是20分钟),也会触发一个事件,事件的名称是session_onend。我们可以在global.asa文件中定义这两个事件所执行的操作。

   接下来我们需要考虑的问题是,如何让这个变量对于所有的人都是一样的(废话,不一样那一定不准确)。因此,我们首先想到的就是把在线人数放在一个application变量里。

   到这里,我们需要解决的问题都已经解决了,下面来看看代码:
sub session_onstart
application.lock
application("onlineusers")=application("onlineusers")+1
application.unlock
end sub

sub session_onend
application.lock
application("onlineusers")=application("onlineusers")-1
application.unlock
end sub

   在这里有一个小小的问题,那就是,如果用户是第一个访问者,由于在线人数变量没有初始化,所以会出现错误的提示。要想解决这个问题,我们需要加上初始化该变量的代码:
if isempty(application("onlineusers")) then
application("onlineusers")=1
end if
修改后的代码如下:
sub session_onstart
application.lock
if isempty(application("onlineusers")) then
application("onlineusers")=1
else
application("onlineusers")=application("onlineusers")+1
end if
application.unlock
end sub

sub session_onend
application.lock
application("onlineusers")=application("onlineusers")-1
application.unlock
end sub
   把上面的代码保存为global.asa,保存在web应用程序根目录下(必须在根目录下),然后在页面的合适位置中使用<%=application("onlineusers")%>就可以了。
文章录入:浅水游龙    责任编辑:浅水游龙 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    用手机挂QQ 你也能快速升级为…
    制作一个百毒不侵的系统
    修改Win XP开机画面最简单办…
    将WindowsXP加速到极限
    用脚本恢复Windows XP的用户…
    如何创建自己的网站
    Windows操作系统中必须禁止的…
    Windows目录下几大需清理的地…
    经典常见计算机密码破解实用…
    网络攻击的几种攻击与防御手…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    Copyright by seeunet.com (2005-2007) 粤ICP备05118646号
    告示:如果本站有任何文章/作品侵犯你的合法权益,请你告诉我,我会尽快处理!
    站长QQ:399093531;25302531