ASP.NET一个简单的在线人数统计办法
来源:互联网 发布:制作手绘图片软件 编辑:程序博客网 时间:2024/05/18 02:19
ASP.NET一个简单的在线人数统计办法
我们在做好并发布一个网站后,我们要统计一段时间内这个网站的在线人数从而可以直观的了解到网站的吸引力或者网站程序的效率。下面我就介绍一种最简单明了的在线人数统计办法。
首先,我们要了解ASP.NET的特点。这里我给大家先介绍一下Global.asax 文件(也称为 ASP.NET 应用程序文件)是一个可选的文件,该文件包含响应 ASP.NET 或 HTTP 模块所引发的应用程序级别和会话级别事件的代码。Global.asax 文件驻留在 ASP.NET 应用程序的根目录中。运行时,分析 Global.asax 并将其编译到一个动态生成的 .NET Framework 类,该类是从 HttpApplication 基类派生的。配置 ASP.NET,以便自动拒绝对 Global.asax 文件的任何直接的 URL 请求;外部用户不能下载或查看其中的代码。
Global.asax 文件是可选的。只在希望处理应用程序事件或会话事件时,才应创建它。
这里我先简单阐述一下这个在线为数统计的原理:我们是根据会话Session的打开与关闭来统计在线人数的。我们首先要设置一个Application变量,用来记录当前的在线人数,当网站开始服务的时候我们将这个Application变量初始化为0,当会话每开启一次的时候我们将这个Application变量让它自动加1,当一个会话结束时再自动让这个Application变量减1,这样就实现了在线人数的统计功能。如果我们想知道这个网站的当前在线人数,只要在每个页面将这个Application变量显示出来就行了。下面介绍一下具体的实现步骤:
1. 先向网站添加一个可选文件Global.asax。
方法:打开网站的“添加新项”对话框,从中模版中选择Global.asax文件添加即可。
2.在打开的Global.asax文件中将如下代码对应埴入:
<%@ Application Language="C#" %>
<%@ Application Language="C#" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
Application["onlinenum"] = 0;
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
}
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
Application.Lock();
Application[ "onlinenum"] = (int)Application[ "onlinenum"] + 1;
Application.UnLock();
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
Application.Lock();
Application[ "onlinenum"] = (int)Application[ "onlinenum"] – 1;
Application.UnLock();
}
</script>
上面的代码很容易理解,当网站开始服务的时候(Application开始的时候),先声明一个Application变量:Application[ "onlinenum "]来记录当前的上线人数,程序初始化Application[ "onlinenum"]为0。然后,当用户进入网站(Session开始的时候)的时候,先锁定Application,再将Application[ "onlinenum "]加1。用户退出网站的时候,将Application[ "onlinenum "]减1。这样就实现了在线用户的统计。
3.完成上面的工作后,我们如果想在页面上显示当前的在线人数只要将此Application[ "onlinenum "]的值赋给一个比如Lable就可以将当前的在线人数显示出来。(如:Lable1.Text= Application[ "onlinenum "].ToString())
- ASP.NET一个简单的在线人数统计办法
- asp.net的在线人数统计
- ASP.NET统计在线人数
- ASP.NET统计在线人数
- asp.net在线人数统计
- Asp.net在线统计人数
- asp.net统计在线人数
- asp.net统计在线人数
- Asp.net统计在线人数
- VS2005下实现asp.net在线人数的统计
- VS2005下实现asp.net在线人数的统计
- ASP.net 实现在线统计人数
- ASP.NET 实现统计在线人数
- Asp.Net实现在线人数统计
- Asp.Net实现在线人数统计
- ASP.net实现在线统计人数
- ASP.NET统计站点在线人数
- Asp.net统计在线人数和总人数
- ArcEngine开发程序中关闭时内存泄漏的问题
- 初识EJB3.0的MDB来开发JMS
- 怎样安装和配置Tomcat Admin
- 利用HTTP的POST方法做个在线翻译的小工具
- 修改job的执行间隔时间:sys.dbms_job.interval()
- ASP.NET一个简单的在线人数统计办法
- 经纬度到平面坐标的相互转换
- 在AE中取得选择要素的方法
- HOOK技术在VC编程中的应用基础
- 自己写的模仿google动态提示下拉
- SaaS泥沼
- 修改mysql登陆密码
- 服务为主模式遇冷脸SOA在华尔街另辟蹊径
- Web前端工程师技能列表