Example #1
0
        public static List <Model.ProductInfo> GetProducts(int pageIndex, int pageSize, out int totalCount)
        {
            BLL.Product bll = new BLL.Product();
            totalCount = 0;

            if (!enableCaching)
            {
                return(bll.GetProducts(pageIndex, pageSize, out totalCount, "", "", null));
            }

            string key      = string.Format("product_get_{0}_{1}", pageIndex, pageSize);
            string keyCount = string.Format("product_getCount_{0}_{1}", pageIndex, pageSize);
            List <Model.ProductInfo> data = (List <Model.ProductInfo>)HttpRuntime.Cache[key];
            object obj = HttpRuntime.Cache[keyCount];

            if (obj != null)
            {
                totalCount = (int)obj;
            }

            if (data == null)
            {
                data = bll.GetProducts(pageIndex, pageSize, out totalCount, "", "", null);

                AggregateCacheDependency cd = DependencyFactory.GetProductDependency();

                HttpRuntime.Cache.Add(key, data, cd, DateTime.Now.AddHours(productTimeout), Cache.NoSlidingExpiration, CacheItemPriority.High, null);
                HttpRuntime.Cache.Add(keyCount, totalCount, null, DateTime.Now.AddHours(productTimeout), Cache.NoSlidingExpiration, CacheItemPriority.High, null);
            }

            return(data);
        }