• 如何统计网站访问量,代码实现使用全局变量 Application,start,end,Session_start,Session_end事件


     void Application_Start(object sender, EventArgs e)

        {

            // 在应用程序启动时运行的代码

            long totalCount = 0; //总访问数

            int todayCount = 0;//今天在线人数

            //先从XML中取得访问数

            string xmlFilePath = Server.MapPath("~/") + "App_Data//xmls//count.xml"; //XML文件路径

            DataSet ds = newDataSet();

            ds.ReadXml(xmlFilePath);

            totalCount = Int64.Parse(ds.Tables[0].Rows[0]["TotalCount"].ToString().Trim());

            //设置Application,设置在线数量,总访问数量

            Application["total_count"] = totalCount;

            Application["today_count"] = todayCount;

    }

        void Session_Start(object sender, EventArgs e)

        {

            // 在新会话启动时运行的代码

            Application.Lock();//锁定

            long totalCount = 0; //总访问数

            int todayCount = 0;//今天访问数

            totalCount = Convert.ToInt64(Application["total_count"]);

            todayCount = Convert.ToInt32(Application["today_count"]);

            totalCount++;//用户登录,以后才修改访问总数

            todayCount++;//在线用户数量加 1

            Application["total_count"] = totalCount;

            Application["today_count"] = todayCount;

            //把访问数写如到XML文件中

            string xmlFilePath = Server.MapPath("~/") + "App_Data/xmls/count.xml"; //XML文件路径

            XmlDocument xmlObj = newXmlDocument();

            xmlObj.Load(xmlFilePath);

            XmlNode xmlRootOjb = xmlObj.SelectSingleNode("Web/AccessInfo/TotalCount");

            xmlRootOjb.InnerText = totalCount.ToString();//增加总的访问量,并修改xml总访问量的值

            xmlObj.Save(xmlFilePath);

            Application.UnLock();//解锁

     }

        void Session_End(object sender, EventArgs e)

        {   //这里主要计算登录用户

            Application.Lock();

            Application["today_count"] = Int32.Parse(Application["today_count"].ToString()) - 1;

            //当用户离开站点的时候,在线总数减1

            Application.UnLock();

     }

  • 相关阅读:
    C/C++ _wcsupr_s 函数 – unicode 字符串小写转大写 C语言零基础入门教程
    C/C++ atof函数 C语言零基础入门教程
    C/C++ ultoa函数 C语言零基础入门教程
    C/C++ _strlwr_s 函数 – 字符串大写转小写 C语言零基础入门教程
    C/C++ ceil 函数 C语言零基础入门教程
    C/C++ atol函数 C语言零基础入门教程
    idea在商店无法搜索到插件
    Go 关于 protoc 工具的小疑惑
    Golang 关于 proto 文件的一点小思考
    Go 如何编写 ProtoBuf 插件(二)?
  • 原文地址:https://www.cnblogs.com/dlf-myDream/p/4624022.html
Copyright © 2020-2023  润新知