博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用HttpHandler+Cache实现站点访问量的统计

Posted on 2005-11-01 19:08  单摆  阅读(3843)  评论(1编辑  收藏  举报
        通常保存网站访问量的方法有两种,一种是保存在数据库,另外就是保存在一个文本文件里头,问题的关键不在保存在哪里,而是在什么时候保存数据,通常是每次访问都保存一次,在访问量比较小的时候,这样做没有什么问题,但是如果访问量大的时候,这是一笔不小的开销。
        本文要介绍的方法是把访问量的累计保存在全局变量,在这个全局变量初始化(清0)时候同时产生一个缓存,设定该缓存的过期时间(根据不同的需求可以设置不一样),并指定缓存过期的回调事件处理方法,当这个全局变量达到一定量(比如200)或缓存过期的时候,将点击数保存到文本文件并重新初始化该全局变量。之所以要设置两个保存点击数的开关主要是考虑应用程序重启丢失将丢失数据,还有就是通过设置缓存过期主要是考虑当网站的访问量不大的时候也能定期的保存数据,详细内容参看代码注释。
具体实现过程
1、添加一个解决方案,然后添加一个项目,设置项目的程序集名称和默认命名控件为MYSpace.Counter。
2、将下面rar里头的两个文件的代码添加到项目。
3、生成MYSpace.Counter.dll
4、在要统计点击数的页面加<SCRIPT LANGUAGE="JavaScript" src='count.aspx'></SCRIPT>
5、在web.config添加相应的handle
<add verb="*" path="count.aspx" type="MYSpace.Counter.CounterHandler,MYSpace.Counter" />
6、一切ok

代码下载