知识大全 ASP.NET中在线用户统计

Posted

篇首语:所谓的成熟、其实就是在不断看开狠多事情之后、更好的生活着。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET中在线用户统计相关的知识,希望对你有一定的参考价值。

ASP.NET中在线用户统计  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  统计在线用户的作用不言而喻 就是为了网站管理者可以知道当前用户的多少 然后根据用户数量来观察服务器或者程序的性能 从而可以直观的了解到网站的吸引力或者网站程序的效率 现在 我们就介绍一个简单明了的方法来统计在线用户的多少 该方法的特点就是充分的利用了ASP NET的特点 结合global asax文件 用Application和Session巧妙的实现在线用户的统计 由于程序中只用到一个Application 所以 程序占用系统资源几乎可以忽略不及 当然 这也是网站管理者最关心的问题之一

  一 用户显示页面的使用

  首先 我们来看看怎样现实当前网站的访问用户数量 程序代码如下

<%@ Page Language= c# debug= true %><><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></>

  可以看出 以上的程序特别简单 就是调用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 ] = ;protected void Session_Start(Object sender EventArgs e)Application Lock();Application[ user_sessions ] = (int)Application[ user_sessions ] + ;Application Unlock();protected void Session_End(Object sender EventArgs e)Application Lock();Application[ user_sessions ] = (int)Application[ user_sessions ] ;Application Unlock();</script>

  以上代码很容易理解 当网站开始服务的时候(Application开始的时候) 程序设置Application[ user_sessions ]为零 然后 当用户进入网站(Session开始的时候)的时候 锁定Application 然后 将application( user_sessions )加一 用户退出网站的时候 application( user_sessions )减一 这样 就很巧妙的实现了在线用户的统计

  三 一点讨论

  以上的统计 简明扼要 程序很容易实现 但是 如果我们仔细考虑 发现该方法有一定的局限 统计出来的在线用户数量可能稍微有点误差 因为我们在以上程序中 是根据用户建立和退出会话(Session)来实现在线人数的加减的 而我们知道 如果用户没有关闭浏览器 而进入另外一个网站 那么 这个会话在一定的时间内是不会结束的 这个时间我们可以通过TimeOut来设置 一般的 我们设置为 分钟 所以 在用户数量统计上面 还是存在一点误差的

  另外 我们知道 在ASP中 如果用户将浏览器上面的Cookies设置为 禁用 那么 Session就不能再被传递 显然 这样设置让以上的统计程序无能为力 不过 在ASP NET中我们有解决方法 在config web文件中 我们将<sessionstate cookieless= false />设置为true就可以了 也就说 不使用Cookies也可以传递Session 这样 我们的程序就可以在不同的访问者环境中顺利运行

  四 总结

cha138/Article/program/net/201311/14992

相关参考

知识大全 关于JSP中基于Session的在线用户统计分析

关于JSP中基于Session的在线用户统计分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 关于JSP中基于Session的在线用户统计分析[1]

关于JSP中基于Session的在线用户统计分析[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 关于JSP中基于Session的在线用户统计分析[3]

关于JSP中基于Session的在线用户统计分析[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 关于JSP中基于Session的在线用户统计分析[2]

关于JSP中基于Session的在线用户统计分析[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 asp 简单在线用户统计代码

  asp教程简单在线用户统计代码这代码是用了aspapliction与session实例的哦<scriptlanguage="vbscript"runat="server">subApp

知识大全 ASP.NET中防止用户多次登录的方法

ASP.NET中防止用户多次登录的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在web开

知识大全 .net如何统计在线人数

  统计在线用户的作用不言而喻就是为了网站管理者可以知道当前用户的多少然后根据用户数量来观察服务器或者程序的性能从而可以直观的了解到网站的吸引力或者网站程序的效率现在我们就介绍一个简单明了的方法来统计

知识大全 [ASP.NET开发系列]在用户控件中添加事件

[ASP.NET开发系列]在用户控件中添加事件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在

知识大全 Asp.net中防止用户多次登录的方法[2]

Asp.net中防止用户多次登录的方法[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 Asp.net中防止用户多次登录的方法[1]

Asp.net中防止用户多次登录的方法[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在W