ASP.NET 在线活动用户计数器
使用这个为 ASP.NET 编写的工具,可以统计网站上在线用户、会员和访客的数量。
引言
使用这个为 ASP.NET 编写的工具,可以统计网站上在线用户、会员和访客的数量。
该工具的安装非常简单,只需几分钟即可完成。
第一步 - 添加引用
下载附件后,您应该将引用添加到项目中。如果您知道如何添加引用,请跳过此步骤。
要添加引用,请右键单击您的解决方案,然后从菜单中选择“添加引用”。然后选择“OnlineActiveUsers.dll”文件。现在引用已添加到解决方案。
第二步 - 更改配置
打开项目中的“Web.config”文件(如果该文件不存在,请右键单击您的项目,然后从“添加新项”中选择“Web 配置文件”)。然后,将此代码添加到“web.config”文件中。
<httpModules>
<add name="OnlineActiveUsers"
type="OnlineActiveUsers.OnlineUsersModule"/>
</httpModules>
请注意,此代码应放置在“system.web
”标记之间。
第三步 - 向 global.asax 添加一些代码
在项目中打开“global.asax”文件(如果该文件不存在,请右键单击您的项目,然后从“添加新项”中选择“全局应用程序类”)。在“session_end
”事件中,添加此代码
OnlineActiveUsers.OnlineUsersInstance.OnlineUsers.UpdateForUserLeave()
如果项目是 C#,结果应如下所示
void Session_End(object sender, EventArgs e)
{
OnlineActiveUsers.OnlineUsersInstance.OnlineUsers.UpdateForUserLeave();
}
现在该工具将开始计算用户统计信息。
第四步 - 访问统计信息
要获取统计信息,请引用“OnlineActiveUsers.OnlineUsersInstance.OnlineUsers
”变量。
以下是它的一些重要属性
UsersCount
:所有在线用户的数量。GuestUsersCount
:在线访客用户的数量。只有在使用SetUserOffline
和SetUserOnline
方法时,此属性才有效。这些方法将在下面进行解释。RegistredUsersCount
:在线会员的数量。只有在使用SetUserOffline
和SetUserOnline
方法时,此属性才有效。这些方法将在下面进行解释。
访客用户和会员
为了正确计算访客用户和会员,有必要编写一些代码。以下是解释
我们考虑的第一个状态是当用户进入您的网站并登录网站时。要实现访客用户和会员的计数过程,有几种方法,但我这里使用一种简单的方法,即使用 ASP.NET 的标准 Login
控件。如果您不使用此控件,请跳过此段。
在此 Login
控件的 LoggedIn
事件中添加此代码
OnlineActiveUsers.OnlineUsersInstance.OnlineUsers.SetUserOnline(Login1.UserName)
例如,在 C# 中,代码应如下所示
protected void Login1_LoggedIn(object sender, EventArgs e)
{
OnlineActiveUsers.OnlineUsersInstance.OnlineUsers.SetUserOnline(Login1.UserName);
}
有了这段代码,我们就指定用户已登录,并将被计为会员。
总的来说,当您不使用 Login
控件时,您需要做的就是在此用户通过身份验证后调用此方法。
OnlineActiveUsers.OnlineUsersInstance.OnlineUsers.SetUserOnline(UserName)
“UserName
”参数应为已通过身份验证的用户名。
我们使用的第二个状态是当用户已登录并且他将要退出其帐户时。如果您使用的是“LoginStatus
”控件,请将此代码添加到“LoggedOut
”事件中
OnlineActiveUsers.OnlineUsersInstance.OnlineUsers.SetUserOffline(User.Identity.Name)
例如,在 C# 中,代码应如下所示
protected void LoginStatus1_LoggedOut(object sender, EventArgs e)
{
OnlineActiveUsers.OnlineUsersInstance.OnlineUsers.SetUserOffline(User.Identity.Name);
}
这里,“User.Identity.Name
”是已登录的用户名。
总的来说,使用此方法将用户计为访客
OnlineActiveUsers.OnlineUsersInstance.OnlineUsers.SetUserOffline(UserName)
在此代码中,“UserName
”参数应为用户名。此名称区分大小写。
在执行完这些过程后,“GuestUsersCount
”和“RegistredUsersCount
”属性将正确显示访客用户和会员的数量。
其他方法
IsOnline
方法GetLastActivity
方法
此方法返回用户的在线状态。输入参数是区分大小写的用户名,结果是 true
如果用户在线;否则,结果是 false
。
此方法返回用户的上次活动时间。输入参数是区分大小写的用户名,结果是“DateTime
”类型,如果用户在线;否则,结果是 C# 中的“null
”或 VB.NET 中的“Nothing
”。