c# 统计网站的访问量

时间:2024-02-18 16:19:40

       今天有时间和大家分享一下 以前做过的东西。以及基础的东西。但是对于做网站的人来说 还是很实用的东西。是网站的统计。这个东西虽然说是可以作假。但是我们也可以通过程序来进行分享 真实的网站的统计的次数。这样对于一个网站的访问度高不高 一看就可以看出来了。下面是此人写的一个简单的例子和代码!如有不妥的地方请大家及时指出 谢谢!

 

 

Global文件的里的代码:

<%@ Application Language="C#" %>

<%@ Import Namespace="System" %>

<%@ Import Namespace="System.Collections" %>

<%@ Import Namespace="System.ComponentModel " %>

<%@ Import Namespace="System.Web" %>

<%@ Import Namespace="System.Web.SessionState" %>

<%@ Import Namespace=" System.IO " %>

 

<script RunAt="server">

 

    

    void Application_Start(object sender, EventArgs e)

    {

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

        int count = 0;

        StreamReader srd;

        //取得文件的实际路径

        string file_path = Server.MapPath("counter.txt");

        //打开文件进行读取

        srd = 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");

        StreamWriter srw = new 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");

        StreamWriter srw = new 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>

这是前台页面的调用:

                    <font face ="宋体" style="font-weight: bold; color: red; font-family: 隶书">您是第<%=Application["counter"]%>位访问者</font>