当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 谢谢 ......
    摘要: sql7里面怎么样创建自定义的函数 ......


怎样用C#在网站首页显示“今日网站访问量”的统计用Thanks

各位同行、高手,我急需解决这个问题,在此向大家讨教:  
  怎样用C#在ASP.NET平台下实现网站首页显示“今日网站访问量”的统计的功能????  
          能否给一代码试试?谢了!

NO.1   作者: pretender1982

利用了ASP.NET的特点,结合global.asax文件,用Application和Session巧妙的实现在线用户的统计,由于程序中只用到一个Application,所以,程序占用系统资源几乎可以忽略不及,当然,这也是网站管理者最关心的问题之一。    
         
        一、用户显示页面的使用    
         
        首先,我们来看看怎样现实当前网站的访问用户数量,程序代码如下:    
         
         
      <%@   Page   Language="c#"   debug="true"   %>    
      <html>    
      <head>    
      <SCRIPT   LANGUAGE="c#"   RUNAT="server">    
      private   void   Page_Load    
      {    
      Visitors.Text   =   "本站当前有:   <b>"   +   Application["user_sessions"].ToString   +   ""   +   "</b>   位访问者   !";    
      }    
      <title>在线用户</title>    
      </head>    
      <body>    
      <asp:label   id="visitors"   runat="server"   /><br>    
      </body>    
      </html>    
         
        可以看出,以上的程序特别简单,就是调用Application。当然,我们不必要专门设计一个页面来显示在线用户数量,在网站的任何页面,我们都可以直接调用Application.ToString来显示当前用户数量。    
         
        二、global.asax文件实现    
         
        global.asax文件的作用我们自不必说,现在,我们直接来看统计当前在线用户数量如何实现:    
         
         
      <script   language="c#"   runat="Server">    
      protected   void   Application_Start    
      {    
      Application["user_sessions"]   =   0;    
      }    
      protected   void   Session_Start    
      {    
      Application.Lock;    
      Application["user_sessions"]   =   Application["user_sessions"]   +   1;    
      Application.Unlock;    
      }    
      protected   void   Session_End    
      {    
      Application.Lock;    
      Application["user_sessions"]   =   Application["user_sessions"]   -   1;    
      Application.Unlock;    
      }    
      </script>    
         
        以上代码很容易理解,当网站开始服务的时候,程序设置Application["user_sessions"]为零,然后,当用户进入网站的时候,锁定Application,然后,将application加一,用户退出网站的时候,application减一。这样,就很巧妙的实现了在线用户的统计。    
         
        三、一点讨论    
         
        以上的统计,简明扼要,程序很容易实现。但是,如果我们仔细考虑,发现该方法有一定的局限,统计出来的在线用户数量可能稍微有点误差。因为我们在以上程序中,是根据用户建立和退出会话来实现在线人数的加减的,而我们知道,如果用户没有关闭浏览器,而进入另外一个网站,那么,这个会话在一定的时间内是不会结束的,这个时间我们可以通过TimeOut来设置,一般的,我们设置为20分钟。所以,在用户数量统计上面,还是存在一点误差的。    
         
        另外,我们知道,在ASP中,如果用户将浏览器上面的Cookies设置为“禁用”,那么,Session就不能再被传递,显然,这样设置让以上的统计程序无能为力。不过,在ASP.NET中我们有解决方法,在config.web文件中,我们将<sessionstate   cookieless="false"   />设置为true就可以了,也就说,不使用Cookies也可以传递Session。这样,我们的程序就可以在不同的访问者环境中顺利运行。    
 


    摘要: 主要就是将一段超链接/选中的文本/选中的图片拖到窗体上时,窗体自动截获(,并分析数据)。 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE