zoukankan      html  css  js  c++  java
  • .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的区别。前者为应用程序的变量,后者为会话的变量。则前者保持时间长,不得乱用。

    命运负责洗牌,但是玩牌的是我们自己!
  • 相关阅读:
    AngularJs用户登录的一些处理
    百度地图api-查询周边
    Git常用命令整理
    AngularJs控制器运行前方法,操控导航栏隐藏
    AngularJs中,如何在数据加载完成后,执行Js脚本
    ZZ:Linux的chattr与lsattr命令详解
    ZZ:实战 SSH 端口转发
    Python 删除 恢复 Redshift
    [原创]Python 命令 恢复 删除 RDS
    AWS CLI 命令学习 之 bat 控制EC2 启停
  • 原文地址:https://www.cnblogs.com/shanymen/p/1456253.html
Copyright © 2011-2022 走看看