private UserCacheManager() { m_CacheManager = CacheFactory.GetCacheManager("Online User Cache Manager"); m_VirtualUser = new UserOnline { Token = "VirtualUser", UserId = -1 }; m_VirtualUser.Roles = new List<int>(); m_VirtualUser.Roles.Add(-1); }
} /// <summary> /// 用户登进 /// </summary> /// <param name="user">用户</param> public void AddUser(UserOnline user) { if (!RepeatLogin) {//禁止某一帐号重复登录 var users = GetOnlineUsers(); var old = users.Find(o => { return o.LogonId == user.LogonId; }); if (old != null) RemoveUser(old.Token); } m_Locker.EnterWriteLock(); try { m_CacheManager.Add(user.Token, user, CacheItemPriority.Normal, null, new SlidingTime(TimeSpan.FromSeconds(30 * 60))); } finally { m_Locker.ExitWriteLock(); }