Beispiel #1
0
        public static List <Model.ProductInfo> GetProductsByCategory(string category)
        {
            BLL.Product bll = new BLL.Product();

            if (!enableCaching)
            {
                if (category.Contains(@"'"))
                {
                    return(bll.GetProductsInCategories(category));
                }
                else
                {
                    return(bll.GetProductsByCategory(category));
                }
            }

            string key = "product_by_category_" + category;
            List <Model.ProductInfo> data = (List <Model.ProductInfo>)HttpRuntime.Cache[key];

            if (data == null)
            {
                if (category.Contains(@"'"))
                {
                    data = bll.GetProductsInCategories(category);
                }
                else
                {
                    data = bll.GetProductsByCategory(category);
                }

                AggregateCacheDependency cd = DependencyFactory.GetProductDependency();

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

            return(data);
        }