首页 > 代码库 > 统计网站访问人数

统计网站访问人数

添加一个Global.asax文件,加入以下代码:

 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,则不会引发该事件。            }