zoukankan      html  css  js  c++  java
  • 统计在线的用户

    首先,我们来看看怎样现实当前网站的访问用户数量,程序代码如下:  
       
       
      <%@   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")减一。这样,就很巧妙的实现了在线用户的统计。  
  • 相关阅读:
    MySQL优化
    数据库之事务
    浮动与定位的区别
    CSS-画三角
    CSS(中)篇
    CSS(前)篇
    html篇
    定位真机运行能用但是打包成apk就不能用的解决方法
    定位与权限
    activity与fragment之间的传递数据
  • 原文地址:https://www.cnblogs.com/qfb620/p/1099236.html
Copyright © 2011-2022 走看看