zoukankan      html  css  js  c++  java
  • 关于用户在线

    //需求如题(估计平均在线人数几百,最大在线人数3000),
    //初步想法如下,欢迎提提意见:
    public class UserOnLine
    {
            
    public static void pageLoad(System.Web.UI.Page page)
            
    {
                
    int minutes = 5;//定义5分钟页面不回传用户下线

                DataTable dt 
    = null;
                
    if(page.Application["UserOnLine"!= null)
                
    {
                    dt 
    = (DataTable)page.Application["UserOnLine"];
                }

                
    else
                
    {
                    dt 
    = new DataTable();
                    dt.Columns.Add(
    "UserName");
                    dt.Columns.Add(
    "FirstLoadTime");
                    dt.Columns.Add(
    "LastLoadTime");
                }


                
    //将当前用户添加到在线用户列表
                string userName = page.Session["username"].ToString();
                DataRow[] rows 
    = dt.Select("UserName='" + userName + "'");
                
    if(rows.Length>0)
                    rows[
    0][2= System.DateTime.Now.ToString();
                
    else
                    dt.Rows.Add(
    new object[]{userName,System.DateTime.Now.ToString(),System.DateTime.Now.ToString()});

                dt.AcceptChanges();

                
    //筛选长时间没有PostBack的用户,认为已经下线
                DataRow[] downRows = dt.Select("Convert(LastLoadTime,'System.DateTime')<Convert('"+System.DateTime.Now.AddMinutes(-minutes).ToString()+"','System.DateTime')");

                
    for(int i=0;i<downRows.Length;i++)
                
    {
                    
    //将downRows[i]的记录保存到数据库
                    
                    downRows[i].Delete();
                }


                dt.AcceptChanges();
                page.Application[
    "UserOnLine"= dt;
            }

        }

    //在每个页面的Page_Load的时候调用此方法;
    //由于我的项目所有的页面都是继承子一个basePage类,该类继承System.Web.UI.Page,所以实际上并不需要改动任何一个页面,而只需要改一下basePage类就可以了。
  • 相关阅读:
    TcpClient连接帮助类
    winform中添加管理员权限控制
    textbox中输入email做格式控制
    绑定和非绑定方法
    类的封装、property、多态和多态性
    继承类之点点滴滴
    爬虫日记-正则表达式
    爬虫日记-单元总结
    爬虫日记-最好大学排名实例
    爬虫日记-第一单元总结
  • 原文地址:https://www.cnblogs.com/acelove/p/86228.html
Copyright © 2011-2022 走看看