zoukankan      html  css  js  c++  java
  • 实现在线人数统计

     



    在解决方案资源管理器中添加新项,Global.asax,其中代码如下:

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

    <script runat="server">

        void Application_Start(object sender, EventArgs e)
        {
            // 在应用程序启动时运行的代码
            Application["count"] = 0;
        }
       
        void Application_End(object sender, EventArgs e)
        {
            // 在应用程序关闭时运行的代码
           
        }
           
        void Application_Error(object sender, EventArgs e)
        {
            // 在出现未处理的错误时运行的代码

        }

        void Session_Start(object sender, EventArgs e)
        {
            // 在新会话启动时运行的代码
            Session.Timeout = 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,则不会引发该事件。
            //Session.Abandon();
            Application.Lock();
            Application["count"] = (int)Application["count"] - 1;
            Application.Lock();
        }
         
    </script>
    在首页面写入以下:

    protected void Page_Load(object sender, EventArgs e)
            {
                Response.Write("当前在线人数:"+Application["count"].ToString());

    }

    这种方法不是很准确,因为它有一个超时时间,这里设置的是一分钟,也就是说一分钟后才会将对话关闭,触发Session_End事件,而VS2005中,一般默认是20分钟,可以通过设置Session.Timeout = 1;//超时时间来改变,最小是一分钟.

    在这里可以加入数据库操作,统计总共访问人数,程序每次启动时,都将累计访问人数从数据库中读出来,在关闭时写入数据到数据库即可,为避免突然断电等情况,也可以第天或者间隔多久写一次累计访问人数,或者每次也行,当然访问量不能过大.

    作者:水木    
     
  • 相关阅读:
    【3】网站搭建:分页功能
    mapserv和mapserv.exe的区别
    WMS请求GetCapabilities,变成下载mapserv.exe解决办法
    get和post的区别
    实现ajax异步请求
    Thinkphp3.2 Widget的扩展
    Thinkphp3.2 路由是使用
    Thinkphp3.2 TagLib的使用
    Thinkphp下实现Rbac
    Thinkphp下实现分页
  • 原文地址:https://www.cnblogs.com/hsapphire/p/1554893.html
Copyright © 2011-2022 走看看