文档文库
手机版
投诉建议
热门搜索:
心得体会
演讲稿
思想汇报
首页
心得体会
学习心得体会
培训心得体会
军训心得体会
社会实践
作风建设
工作心得体会
教育心得体会
演讲稿
演讲稿格式
演讲稿范文
竞聘演讲稿
师德演讲稿
三分钟演讲稿
思想汇报
思想汇报范文
转正思想汇报
大学生思想汇报
季度思想汇报
教师思想汇报
工作计划
工作计划格式
工作计划开头
工作计划结尾
总结与计划
工作计划模板
工作总结
年终工作总结
年度工作总结
个人工作总结
实习报告
实习报告范文
实习计划范文
实习鉴定范文
实习报告内容
个人简历
求职简历
简历范文
简历模板
简历表格
简历格式
祝福语
春节
除夕
元宵
端午节
合同范文
合同范本
合同样本
合同范本格式
首页
>
ASPNET中在线用户统计
ASPNET中在线用户统计
发布时间:2011-08-22 11:45:57 来源:
文档文库
小
中
大
字号:
手机查看
ASP.NET中在线用户统计 统计在线用户的作用不言而喻,就是为了网站管理者可以知道当前用户的多少,然后根据用户数量来观察服务器或者程序的性能,从而可以直观的了解到网站的吸引力或者网站程序的效率。现在,我们就介绍一个简单明了的方法来统计在线用户的多少,该方法的特点就是充分的利用了ASP.NET的特点,结合global.asax文件,用Application和Session巧妙的实现在线用户的统计,由于程序中只用到一个Application,所以,程序占用系统资源几乎可以忽略不及,当然,这也是网站管理者最关心的问题之一。 一、用户显示页面的使用 首先,我们来看看怎样现实当前网站的访问用户数量,程序代码如下: <%@ Page Language="c#" debug="true" %> <html> <head> <SCRIPT LANGUAGE="c#" RUNAT="server"> private void Page_Load(object sender, System.EventArgs e) { Visitors.Text = "本站当前有: <b>" + Application["user_sessions"].ToString() + "" + "</b> 位访问者 !"; } <title>在线用户</title> </head> <body> <asp:label id="visitors" runat="server" /><br> </body> </html> 可以看出,以上的程序特别简单,就是调用Application。当然,我们不必要专门设计一个页面来显示在线用户数量,在网站的任何页面,我们都可以直接调用Application("user_sessions").ToString()来显示当前用户数量。 二、global.asax文件实现 global.asax文件的作用我们自不必说,现在,我们直接来看统计当前在线用户数量如何实现: <script language="c#" runat="Server"> protected void Application_Start(Object sender, EventArgs e) { Application["user_sessions"] = 0; } protected void Session_Start(Object sender, EventArgs e) { Application.Lock(); Application["user_sessions"] = (int)Application["user_sessions"] + 1; Application.Unlock(); } protected void Session_End(Object sender, EventArgs e) { Application.Lock(); Application["user_sessions"] = (int)Application["user_sessions"] - 1; Application.Unlock(); } </script> 以上代码很容易理解,当网站开始服务的时候(Application开始的时候),程序设置Application["user_sessions"]为零,然后,当用户进入网站(Session开始的时候)的时候,锁定Application,然后,将application("user_sessions")加一,用户退出网站的时候,application("user_sessions")减一。这样,就很巧妙的实 现了在线用户的统计。 三、一点讨论 以上的统计,简明扼要,程序很容易实现。但是,如果我们仔细考虑,发现该方法有一定的局限,统计出来的在线用户数量可能稍微有点误差。因为我们在以上程序中,是根据用户建立和退出会话(Session)来实现在线人数的加减的,而我们知道,如果用户没有关闭浏览器,而进入另外一个网站,那么,这个会话在一定的时间内是不会结束的,这个时间我们可以通过TimeOut来设置,一般的,我们设置为20分钟。所以,在用户数量统计上面,还是存在一点误差的。 另外,我们知道,在ASP中,如果用户将浏览器上面的Cookies设置为“禁用”,那么,Session就不能再被传递,显然,这样设置让以上的统计程序无能为力。不过,在ASP.NET中我们有解决方法,在config.web文件中,我们将<sessionstate cookieless="false" />设置为true就可以了,也就说,不使用Cookies也可以传递Session。这样,我们的程序就可以在不同的访问者环境中顺利运行。 四、总结 以上的统计程序特别简单,但是,细节的东西我们不一定想到,这也是我们在编程中需要多一点考虑的。 有时候在编辑页面用户做修改后,可能会有刷新、关闭等误操作造成当前页面信息的丢失, 何不先提醒一下用户呢?实例代码如下:
Confirm Before Leave
本文来源:
https://www.2haoxitong.net/k/doc/a5791190daef5ef7ba0d3c88.html
《ASPNET中在线用户统计.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
文档为doc格式
分享到:
相
关
案
例
安全验证
2024-04-29
安全验证
2024-04-29
安全验证
2024-04-29
正在进行安全检测...
2024-04-29
正在进行安全检测...
2024-04-29
正在进行安全检测...
2024-04-29
安全验证
2024-04-29
安全验证
2024-04-29
正在进行安全检测...
2024-04-29
正在进行安全检测...
2024-04-29
相关推荐
1
成人高考有用吗
2
考中--级年九标课新教人件课习复命使负肩-会社入融元单三第:德品想思
3
小学数学课堂中趣味性
4
帮助别人并不难
5
不断探索 锐意进取 推动我国茧丝绸丝 又好又快地发展 - 中国丝绸协会第五届会员代表大会在宁举行
6
TOPIK考试必考韩语语法及详细讲解
7
共享单车调查报告
8
内蒙古呼伦贝尔市尼尔基第二中学2019-2020学年数学八上期中模拟试卷《8套试卷合集》
9
2019年我的优缺点作文400字-缺点的另一边是优点
10
高考叙事作文范文:放飞梦想,照亮未来
推荐内容
难忘的第一次(范文12篇)
关于《中华人民共和国食品安全法》在我县贯彻实施情况的调研报告
心理学56分支文档
英语讨论分组与话题计算机
正身直行戒贪养廉 - 初一作文
2020高校教研室工作计划
毕业后体育老师实习工作总结报告汇总范文
电视剧新《水浒传》山东卫视首映大典方案
生日庆典策划书
BS模式下在线考试系统的设计与实现