示例#1
0
        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);

        }
示例#2
0
        }

        /// <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();
            }