• 013. asp.net统计网站访问人数


    Global.asax中的代码:

    <%@ Application Language="C#" %>
    
    <script runat="server">
    
        void Application_Start(object sender, EventArgs e) 
        {
            // 在应用程序启动时运行的代码
            int count = 0;
            System.IO.StreamReader srd;
            //取得文件的实际路径
            string file_path = Server.MapPath("counter.txt");
            //打开文件进行读取
            srd = System.IO.File.OpenText(file_path);
            while (srd.Peek() != -1)
            {
                string str = srd.ReadLine();
                count = int.Parse(str);
            }
            srd.Close();
            object obj = count;
            //将从文件中读取的网站访问量存放在Application对象中
            Application["counter"] = obj;
    
        }
        
        void Application_End(object sender, EventArgs e) 
        {
    
            //  在应用程序关闭时运行的代码
            int Stat = 0;
            Stat = (int)Application["counter"]; //获取访问量
            string file_path = Server.MapPath("counter.txt");//获取该文本的路径
            System.IO.StreamWriter srw = new System.IO.StreamWriter(file_path, false);
            srw.WriteLine(Stat);
            srw.Close();
    
    
        }
            
        void Application_Error(object sender, EventArgs e) 
        { 
            //在出现未处理的错误时运行的代码
    
        }
    
        void Session_Start(object sender, EventArgs e) 
        {
            // 在新会话启动时运行的代码
            Application.Lock(); //锁定, 以便累加数据
            //数据累加
            int Stat = 0;
            //获取Application对象中保存的网站总访问量
            Stat = (int)Application["counter"];
            Stat += 1;
            object obj = Stat;
            Application["counter"] = obj;
            //将数据记录写入文件
            string file_path = Server.MapPath("counter.txt");
            System.IO.StreamWriter srw = new System.IO.StreamWriter(file_path, false);
            srw.WriteLine(Stat);
            srw.Close();
            Application.UnLock();
    
    
        }
    
        void Session_End(object sender, EventArgs e) 
        {
            //在会话结束时运行的代码。 
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
            // InProc 时,才会引发 Session_End 事件。如果会话模式 
            //设置为 StateServer 或 SQLServer,则不会引发该事件。
    
        }
           
    </script>

    页面的代码:

     您是第<%=Application["counter"]%>位访问者&nbsp;
  • 相关阅读:
    cdn服务器
    面向对象---特----性
    我自己总结的一些知识点--分享
    进程与线程的区别
    centos忘记root用户的密码
    svn上传时显示database is locked
    公司memcache安装方式及启动方式
    阿里云挂载快照盘
    阿里云卸载磁盘是报错
    scp
  • 原文地址:https://www.cnblogs.com/wxylog/p/6110132.html
Copyright © 2020-2023  润新知