Beispiel #1
0
        /// <summary>
        /// 获取Query获取收藏列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public static PagingDataSet <Favorite> GetFavorites(FavoriteQuery query)
        {
            PagingDataSet <Favorite> favorites = null;
            string cacheKey = CacheKeyManager.GetFavoriteQueryKey(query);

            if (HttpContext.Current != null)
            {
                favorites = HttpContext.Current.Items[cacheKey] as PagingDataSet <Favorite>;
            }
            if (favorites != null)
            {
                return(favorites);
            }

            favorites = HHCache.Instance.Get(cacheKey) as PagingDataSet <Favorite>;
            if (favorites == null)
            {
                int totalRecods;
                favorites = new PagingDataSet <Favorite>();
                List <Favorite> favoriteList = CommonDataProvider.Instance.GetFavorites(query, out totalRecods);
                favorites.Records      = favoriteList;
                favorites.TotalRecords = totalRecods;
                if (HttpContext.Current != null)
                {
                    HttpContext.Current.Items[cacheKey] = favorites;
                }
                HHCache.Instance.Insert(cacheKey, favorites);
            }
            return(favorites);
        }