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")减一。这样,就很巧妙的实现了在线用户的统计。  
  • 相关阅读:
    python 加入excel 失败的原因
    Python 比利的滑动验证
    HTML列表
    HTML表格
    HTML图像
    牛客网212D禁书目录Index-题解
    关于RMQ的一些拓展
    LOJ535「LibreOJ Round #6」花火-题解
    [SDOI2011]导弹拦截-题解
    [HNOI2015]开店-题解
  • 原文地址:https://www.cnblogs.com/liufei88866/p/1009508.html
Copyright © 2011-2022 走看看