网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > .Net编程 > 正文

简单实现在线人数统计

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

 在解决方案资源管理器中添加新项,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;//超时时间来改变,最小是一分钟.

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

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师