• .NET基础之网站访问统计计数器


    使用Global.asax全局变量可以避免刷新页面导致计数器刷新。

    void Application_Start(object sender, EventArgs e)
       {
           //在应用程序启动时运行的代码,IIS重新启动时刷新计数器。
           Application["count"] = 0;
       }

    void Session_Start(object sender, EventArgs e)
       {
           //在新会话启动时运行的代码,会话建立,计数器+1,防止错误先锁定后解锁。重复刷新页面不会更改计数器,只有建立新会话才可以。
           Application.Lock();
           Application["count"] = (int)Application["count"] + 1;
           Application.UnLock();
       }

    void Session_End(object sender, EventArgs e)
       {
           //在会话结束时运行的代码。此处主要是用来统计在线人数,如只需要计数,可以不需要此处代码。 
           // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
           // InProc 时,才会引发 Session_End 事件。如果会话模式
           //设置为 StateServer 或 SQLServer,则不会引发该事件。
           Application.Lock();
           Application["count"] = (int)Application["count"] - 1;
           Application.UnLock();
       }

    protected void Page_Load(object sender, EventArgs e)
        {

            //页面中直接使用Application["count"]。
            Response.Write("你是本网站第"+Application["count"]+"个访问者");
        }

    注意:Application与Session的区别。前者为应用程序的变量,后者为会话的变量。则前者保持时间长,不得乱用。

    命运负责洗牌,但是玩牌的是我们自己!
  • 相关阅读:
    温故而知新汇总贴
    温故而知新—heap
    温故而知新--hashtable
    温故而知新-set
    温故而知新——map
    温故而知新----stack
    找工作的时候我们改准备些什么
    js瀑布流布局
    js小游戏---智力游戏
    原生js完成拼图小游戏
  • 原文地址:https://www.cnblogs.com/shanymen/p/1456253.html
Copyright © 2020-2023  润新知