/// <summary>
        ///通过用户编号或用户名称获取用户信息
        /// </summary>
        /// <param name="userID">用户编号</param>
        /// <param name="username">用户名称</param>
        /// <param name="isOnline">是否在线:修改LastActiveTime</param>
        /// <param name="useCache">是否从缓存读取</param>
        /// <returns>用户信息</returns>
        public static User GetUser(int userID, string username, bool isOnline, bool useCache)
        {
            User   user     = null;
            string cacheKey = (userID > 0) ? CacheKeyManager.GetUserKey(userID) : CacheKeyManager.GetUserKey(username);

            if (useCache)
            {
                if (HttpContext.Current != null)
                {
                    user = HttpContext.Current.Items[cacheKey] as User;
                }
                if (user != null)
                {
                    return(user);
                }
                user = HHCache.Instance.Get(cacheKey) as User;
            }
            if (user == null)
            {
                user = CommonDataProvider.Instance.GetUser(userID, username, isOnline);
                if (!useCache)
                {
                    return(user);
                }

                if (HttpContext.Current != null)
                {
                    HttpContext.Current.Items[cacheKey] = user;
                }
                AddCachedUser(user);
            }
            return(user);
        }
 /// <summary>
 /// 添加用户到缓存
 /// </summary>
 /// <param name="user"></param>
 internal static void AddCachedUser(User user)
 {
     if (user != null)
     {
         HHCache.Instance.Insert(CacheKeyManager.GetUserKey(user.UserID), user);
         HHCache.Instance.Insert(CacheKeyManager.GetUserKey(user.UserName), user);
     }
 }
 /// <summary>
 /// 刷新用户缓存信息
 /// </summary>
 /// <param name="user"></param>
 internal static void RefreshCachedUser(User user)
 {
     if (user != null)
     {
         HHCache.Instance.Remove(CacheKeyManager.GetUserKey(user.UserID));
         HHCache.Instance.Remove(CacheKeyManager.GetUserKey(user.UserName));
     }
     HHCache.Instance.Remove(CacheKeyManager.UserListPrefix);
 }