首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > PHP > 统计在线人数Web
【标  题】:统计在线人数Web
【关键字】:Web
【来  源】:http://blog.csdn.net/lucky_yyx/archive/2007/04/16/1566025.aspx

统计在线人数Web

一、原理

  在.net中的global.asax中有Application_AuthenticateRequest事件和Application_BeginRequest事件是在每次访问aspx文件都会触发。但是Application_BeginRequest中不能对已经经过FROMS身份验证的身份ticket票进行识别。所以只能放到Application_AuthenticateRequest中去。

  实现原理是:每次访问aspx文件时候都会判断在线表里面是否有这个用户(已经登录了的记录用户名,没有登录的记录IP地址),如果不存在,则将该用户的身份、最后访问时间、最后访问IP、和最后访问的URL存入数据库。如果数据库中已经曾在,则更新该记录,把最后访问时间,IP以及最后访问URL更新。

  同时,删除数据库中与当前时间间隔20分钟以上的数据(20分钟没操作当为超时)。

  二、优点

  这样,你不仅仅可以看到当前在线的准确人数,还知道是那些人在线,以及是否登陆,和访问人数中已经是会员的比例,以及所在位置,并计算某个页上的人数。

  三、数据库结构

字段 类型 长度 说明
1uson_serial int 40 序号
0uson_user varchar 200 用户名(没登陆则为IP)
0uson_company varchar 1000 公司名(没登陆则为'游客')
0uson_ip varchar 200 IP地址
0uson_date datetime 80 最后操作时间
0uson_url varchar 1000 最后操作页面路径

  四、程序

  注意:
  1、程序位于global.asax中
  2、使用的FORMS身份验证
  3、请使用 System.Web.Security

protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
string strUserID = string.Empty;
string strCompany = string.Empty;
if (Request.IsAuthenticated)
{
FormsIdentity identity = (FormsIdentity)User.Identity;
FormsAuthenticationTicket ticket = identity.Ticket;
strUserID = User.Identity.Name;
strCompany = ticket.UserData.Split("|".ToCharArray())[2];
}
else
{
strUserID = Request.UserHostAddress;
strCompany = "游客";
}

MemberOnlineInfo objOnline = new MemberOnlineInfo(strUserID, Request.UserHostAddress, DateTime.Now.ToString(), Request.FilePath, strCompany);

MemberAccount account = new MemberAccount();
if (!account.CheckUserOnline(strUserID))
account.AddOnline(objOnline);
else
account.UpdateOnline(objOnline);

//删除超时的会员
account.DeleteOnline();
}

 

 
 
通过WebService 上传和下载文件:【上一篇】
集装箱箱号校验规则 javascript:【下一篇】
【相关文章】
  • 通过WebService 上传和下载文件
  • 微软WebService之MapPoint分析手记(二):MapPoint接口架构一览
  • .Net框架集WebClient类向WinCE平台上传文件(FTP方式)延迟15秒释疑
  • Web服务搜索与执行引擎(三)——系统设计方案
  • MyEclipse+Weblogic8.1+Entity Bean
  • Web服务搜索与执行引擎(四)——基于(三)的系统架构设计
  • 另辟渠道的webgis应用开发(附源码)
  • Ajax与WebGIS
  • Web服务搜索与执行引擎三——系统设计方案
  • vs2005入门 之 起始页与创建WEB站点和创建新页面[视频]
  • 【随机文章】
  • Requiring Data Entry
  • 瑞星杀毒助手 升级到 0.1.0020版
  • 对程序员职业规划的一些看法
  • linux常用到的库
  • 技术支持程序员程序书写规范
  • linux的NFS服务
  • VcExpress 2005初体验(2)
  • 怎样操作FC-236/238/2316报警主机
  • Java 基础常用功能语句
  • 大写文件名转小写的shell脚本
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.