Asp.net源码专业站
首页->新知实践->Afritxia在线用户统计、在线编辑器、验证码图片>>Net.AfritXia.Web/OnlineStat/_OnlineUser/OnlineUserDB.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:Afritxia在线用户统计、在线编辑器、验证码图片
当前文件:文件类型 AfritxiaWebTest/Net.AfritXia.Web/OnlineStat/_OnlineUser/OnlineUserDB.cs[5K,2009-6-12 11:31:33]打开代码结构图
普通视图
		            
1/* 2 * OnlineUserDB.cs @Microsoft Visual Studio 2008 <.NET Framework 2.0 (or Higher)> 3 * AfritXia 4 * 2008/3/21 5 * 6 * Copyright(c) http://www.AfritXia.NET/ 7 * 8 */ 9 10using System; 11using System.Collections.Generic; 12 13namespace Net.AfritXia.Web.OnlineStat 14{ 15 /// <summary> 16 /// 在线用户数据库 17 /// </summary> 18 internal class OnlineUserDB 19 { 20 // 在线用户集合 21 private List<OnlineUser> m_onlineUserList = null; 22 23 类构造器 32 33 /// <summary> 34 /// 插入新用户 35 /// </summary> 36 /// <param name="newUser"></param> 37 public void Insert(OnlineUser newUser) 38 { 39 lock (this) 40 { 41 this.m_onlineUserList.Add(newUser); 42 } 43 } 44 45 /// <summary> 46 /// 删除用户 47 /// </summary> 48 /// <param name="delUser"></param> 49 public void Delete(OnlineUser delUser) 50 { 51 lock (this) 52 { 53 this.m_onlineUserList.RemoveAll((new PredicateDelete(delUser)).Predicate); 54 } 55 } 56 57 /// <summary> 58 /// 清除超时用户 59 /// </summary> 60 /// <param name="timeOutMinute">超时分钟数</param> 61 public void ClearTimeOut(int timeOutMinute) 62 { 63 lock (this) 64 { 65 this.m_onlineUserList.RemoveAll((new PredicateTimeOut(timeOutMinute)).Predicate); 66 } 67 } 68 69 /// <summary> 70 /// 排序在线用户列表 71 /// </summary> 72 public void Sort() 73 { 74 // 按活动时间进行排序 75 this.m_onlineUserList.Sort(CompareByActiveTime); 76 } 77 78 /// <summary> 79 /// 获取所有用户 80 /// </summary> 81 /// <returns></returns> 82 public IList<OnlineUser> Select() 83 { 84 return this.m_onlineUserList.ToArray(); 85 } 86 87 /// <summary> 88 /// 获取在线用户数量 89 /// </summary> 90 /// <returns></returns> 91 public int Count() 92 { 93 return this.m_onlineUserList.Count; 94 } 95 96 用户删除条件断言 154 155 用户超时条件断言 186 187 /// <summary> 188 /// 比较两个用户的活动时间 189 /// </summary> 190 /// <param name="x"></param> 191 /// <param name="y"></param> 192 /// <returns></returns> 193 private static int CompareByActiveTime(OnlineUser x, OnlineUser y) 194 { 195 if (x == null) 196 throw new NullReferenceException("X 值为空 ( X Is Null )"); 197 198 if (y == null) 199 throw new NullReferenceException("Y 值为空 ( Y Is Null )"); 200 201 if (x.ActiveTime > y.ActiveTime) 202 return -1; 203 204 if (x.ActiveTime < y.ActiveTime) 205 return +1; 206 207 return 0; 208 } 209 } 210}
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:Afritxia在线用户统计、在线编辑器、验证码图片
51Aspx.com 版权所有 CopyRight © 2006-2010. 京ICP备06046876号 本站法律顾问:ITlaw-庄毅雄律师
返回顶部
客户服务:点击这里进行客户咨询 业务合作:点击这里洽谈业务合作 合作热线:010-68880146