防刷新的计数器,几种方法

这个是global.asax中的代码,可以实现在线人数的统计,但一般说来,这些统计都不是很精确的,因为session   有个过期时间,系统默认是20分钟,也可以自定义,所以实际统计与理想是有差别的,只能将就着用吧

void Application_Start(object sender, EventArgs e)
    {
        Application.Lock();
        Application["userNum"] = 0;
        Application.UnLock();

    }
   
    void Application_End(object sender, EventArgs e)
    {
        // 在应用程序关闭时运行的代码

    }
       
    void Application_Error(object sender, EventArgs e)
    {
        // 在出现未处理的错误时运行的代码

    }
//一个用户一个session,每个session都是一个集合,这些集合是以索引加键值的形式存在的
    void Session_Start(object sender, EventArgs e)                          {
        Application.Lock();
        Application["userNum"] = int.Parse(Application["userNum"].ToString()) + 1;
        Application.UnLock();

    }

    void Session_End(object sender, EventArgs e)
    {
        Application.Lock();
        Application["userNum"] = int.Parse(Application["userNum"].ToString()) - 1;
        Application.UnLock();

    }

 

另外也可以用cookies作统计.

还可以统计用记录ip的方式,不但防刷新,而且还可以统计访问ip数.

posted on 2010-01-04 16:36  涂圣飞  阅读(368)  评论(0编辑  收藏  举报

导航