在线用户统计的用户用例有如下几种:
为了解决用户登录关闭浏览器的非正常退出的问题,采用获取数据前,先进行清理已经退出用户的操作。
下面采用接口的方法来解决通用性的问题:
详细的接口说明如下:
下面是一个对接口sql实现:
其中OnLineBase是一个虚基类,用户实现一个模板方法,让其它扩展简单使用.
对于动态刷新用户的登录状态,使用httpmodel来实现,代码如下:
在golbal中的代码如下:
在页面中读取当前登录用户的代码如下:
数据库表创建脚本如下:
T_OnLine
USE [OnLine]
GO
/**//****** 对象: 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](36) NOT NULL,
[UserID] [int] NULL,
[UserType] [int] NULL,
[StartTime] [datetime] NULL,
[EndTime] [datetime] NULL,
[IsOnLine] [bit] NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
USE [OnLine]
GO
/**//****** 对象: 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](36) NOT NULL,
[UserID] [int] NULL,
[UserType] [int] NULL,
[StartTime] [datetime] NULL,
[EndTime] [datetime] NULL,
[IsOnLine] [bit] NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF