- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
net中实现当前在线人数和历史访问人数
net中实现当前在线人数和历史访问人数
.net中如何实现网站在线人数以及历史访问人数的统2009-01-06 14:52
统计在线用户的作用不言而喻,就是为了网站管理者可以知道当前用户的多少,然后根据用户数量来观察服务器或者程序的性能,从而可以直观的了解到网站的吸引力或者网站程序的效率现在,我们就介绍一个简单明了的方法来统计在线用户的多少,该方法的特点就是充分的利用了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 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
您可能关注的文档
最近下载
- 水果知识培训榴莲.pptx VIP
- 《无人机概论》高职无人机应用技术专业全套教学课件.pptx
- 公安局辅警招聘考试试题库《综合理论知识》(含政治理论、法律法规、公安工作基本知识).pdf VIP
- EN10346:2015_连续热浸镀钢带产品交货技术条件中文版.pdf VIP
- 山东初级注册安全工程师考试题库.pdf VIP
- 卫星遥测数据处理方法、系统及星座状态监控平台.pdf VIP
- 东风螺粉状配合饲料 .pdf VIP
- 高一下学期化学人教版必修第二册用化学沉淀法去除粗盐中的杂质离子课件.pptx VIP
- 2022版三甲评审资料 医院安全保卫管理制度.pdf VIP
- 全过程工程咨询服务 方案(技术方案).doc
文档评论(0)