弗尤博客(九)

今天完成,阅读数量的统计。

ASP.NET中利用Application和Session统计在线人数、历史访问量

学习一位大牛的文章

参考链接


 protected void Application_Start()
    {
        BlogsBusiness blogs = new BlogsBusiness();
        BlogsEntity b = new BlogsEntity();
        b.Bid = Convert.ToInt32(Request.QueryString["bid"]);
        int i = 0;
        i = blogs.SelectReadNums(b);
        Application["total"] = i;  //定义Application变量值total并赋值为历史访问量
        Application["onLine"] = 0;
    }
    protected void Session_Start()
    {
        Application.Lock();                                        //锁定Application
        Application["total"] = (int)Application["total"] + 1;      //总访问量加1
        Application["onLine"] = (int)Application["onLine"] + 1;    //在线人数加1
        Application.UnLock();                                      //解除锁定
    }
    protected void Session_End()
    {
        Application.Lock();                                          //锁定Application
        Application["onLine"] = (int)Application["onLine"] - 1;      //总访问数量不变,在线人数减1
        Application.UnLock();                                        //解除锁定
    }
    protected void Application_End()
    {
        BlogsBusiness blogs = new BlogsBusiness();
        BlogsEntity b = new BlogsEntity();
        b.Bid = Convert.ToInt32(Request.QueryString["bid"]);
        b.Readnums = (int)Application["total"];
        int r = 0;
        r = blogs.UpdateReadNums(b);
    }

首先是从数据库中获取当前阅读数量(我默认的是0)这样每次都可以读出最后一次的阅读量。session每次访问application都➕1,还是通过QueryString记录是哪文章,最后修改数据库实现更新数据库,目前有个问题,a用户进入到该篇博文后,无法看到此时自己也算是访问该篇博文,初步思路是进入先➕1,关闭➖1;

原文地址:https://www.cnblogs.com/frankybpx/p/10174471.html