• Asp.Net实现在线人数统计 (转)


    原文件:http://blog.csdn.net/wxd_860825/article/details/4589292

    利用Application对象和Session对象可以统计当前在线用户数量.

    注意:

    (1)在会话开始和结束时,一定要进行加锁和解锁操作。由于多个用户可以共享Application对象,因此加锁是必要的,这样可以保证在同一时刻只有一个客户可以修改和存取Application对象的属性。如果加锁后,迟迟不给开锁,会导致用户无法访问Application对象。我们可以使用对象的Unlock方法来解除锁定。

    (2)我们是根据用户建立和退出会话来实现在线人数的增加、减少的,如果用户没有关闭浏览器,而直接进入其他URL,则这个会话在一定时间内是不会结束的,所以对在线用户的统计存在一定的偏差。当然我们可以在Web.config文件中对会话Session的失效时间Timeout来设置,默认值为20分钟,最小值为1分钟。

    (3)只有在Web.config文件中的sessionstate模式设置为InProc时,才会引发Session_End事件。如果会话模式为StateServer或SQLServer,则不会引发该事件。

    实现代码:

    我们在网站中添加一个Global.asax全局应用程序文件.

    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)
    {
    //对Appliaction加锁以防止并行性
    Application.Lock();

    //增加一个在线人数
    Application["count"] = (int)Application["count"] + 1;

    //解锁
    Application.UnLock();

    }

    void Session_End(object sender, EventArgs e)
    {
    Application.Lock();

    //减少一个在线人数
    Application["count"] = (int)Application["count"] - 1;

    Application.UnLock();
    }

    </script>

    default.aspx

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

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>无标题页</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <%Response.Write(Application["count"]); %>
    </div>
    </form>
    </body>
    </html>

  • 相关阅读:
    混合 App 打开 H5 调试开关
    国内申请苹果美区ID
    windows鼠标右键文件太多
    已经配置好了的 jmeter + ant 框架
    fiddler的使用:抓包定位、模拟弱网
    jmeter响应数据中文乱码处理
    jmeter设置中文语言
    Jmeter使用CSV Data参数化,中文参数传递过程出现乱码问题
    monkey详解
    Chrome F12 谷歌开发者工具解析
  • 原文地址:https://www.cnblogs.com/yjg8116/p/4364453.html
Copyright © 2020-2023  润新知