zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    WebView断网提示
    Android连续点击多次事件的实现
    Android ADB Server启动失败
    Android Studio撤销与SVN的关联
    SVN拉取后撤销,恢复未拉取之前的状态
    如何通过报表单元格右键控制报表跳转到不同链接地址
    如何提高报表的取数性能
    如何实现参数级联查询
    如何实现参数和报表间的联动效果
    如何实现报表直接打印需求
  • 原文地址:https://www.cnblogs.com/wxylog/p/6110132.html
Copyright © 2011-2022 走看看