基于Session的在线用户统计实现

在线用户统计的用户用例有如下几种:

image

 

为了解决用户登录关闭浏览器的非正常退出的问题,采用获取数据前,先进行清理已经退出用户的操作。

下面采用接口的方法来解决通用性的问题:

image

详细的接口说明如下:

image

 

下面是一个对接口sql实现:

image

 

其中OnLineBase是一个虚基类,用户实现一个模板方法,让其它扩展简单使用.

对于动态刷新用户的登录状态,使用httpmodel来实现,代码如下:

image

在golbal中的代码如下:

image

 

在页面中读取当前登录用户的代码如下:

image

数据库表创建脚本如下:

ContractedBlock.gif ExpandedBlockStart.gif T_OnLine
USE [OnLine] 
GO 
ExpandedBlockStart.gifContractedBlock.gif
/**//****** 对象:  Table [dbo].[T_OnLine]    脚本日期: 08/27/2009 16:55:15 ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
SET ANSI_PADDING ON 
GO 
CREATE TABLE [dbo].[T_OnLine]
    
[SessionID] [varchar](36NOT NULL
    
[UserID] [int] NULL
    
[UserType] [int] NULL
    
[StartTime] [datetime] NULL
    
[EndTime] [datetime] NULL
    
[IsOnLine] [bit] NOT NULL 
ON [PRIMARY] 

GO 
SET ANSI_PADDING OFF

代码下载

转载于:https://www.cnblogs.com/LifelongLearning/archive/2009/08/27/1555207.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值