• 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;
  • 相关阅读:
    生产环境中使用google otp登录不上服务器的解决办法
    kvm虚拟机快照创建与管理
    什么是字节码、机器码、本地代码?
    什么是CDN?哪些是流行的jQuery CDN?使用CDN有什么好处?
    Spring Boot(七):Mybatis 多数据源最简解决方案
    Spring Boot(六):如何优雅的使用 Mybatis
    Spring Boot、Spring MVC 和 Spring 有什么区别?
    Spring Boot(五):Spring Boot Jpa 的使用
    Spring Boot(四):Thymeleaf 使用详解
    Spring Boot(三):Spring Boot 中 Redis 的使用
  • 原文地址:https://www.cnblogs.com/wxylog/p/6110132.html
Copyright © 2020-2023  润新知