Пример #1
0
 public void RemoveCachedItem(CacheKeys CacheKeyName)
 {
     if (MainCache.Contains(CacheKeyName.ToString()))
     {
         MainCache.Remove(CacheKeyName.ToString());
     }
 }
Пример #2
0
        public void UpdateCache(CacheKeys CacheKeyName, object CacheItem, int priority = (int)CacheItemPriority.NotRemovable)
        {
            lock (_lock)
            {
                var policy = new CacheItemPolicy();
                policy.Priority = (CacheItemPriority)priority;
                //policy.AbsoluteExpiration = DateTimeOffset.Now.AddSeconds(10.00);

                // Add inside cache
                MainCache.Set(CacheKeyName.ToString(), CacheItem, policy);
            }
        }
Пример #3
0
        private void Init()
        {
            // ArrayList mylist = new ArrayList();
            var defines = MainCache.GetConstantTypes();

            //foreach (var item in defines)
            //{
            //    mylist.Add(new DictionaryEntry(item.Code, item.TypeName));
            //}
            combDefine.DataSource    = defines;
            combDefine.DisplayMember = "TypeName";
            combDefine.ValueMember   = "TypeCode";
        }
Пример #4
0
        public object GetCachedItem(CacheKeys CacheKeyName)
        {
            lock (_lock)
            {
                if (!MainCache.Contains(CacheKeyName.ToString()))
                {
                    switch (CacheKeyName)
                    {
                    case CacheKeys.Settings:
                        var setting = SettingService.Queryable().FirstOrDefault();
                        UpdateCache(CacheKeys.Settings, setting);
                        break;

                    case CacheKeys.SettingDictionary:
                        var settingDictionary = SettingDictionaryService.Queryable().ToList();
                        UpdateCache(CacheKeys.SettingDictionary, settingDictionary);
                        break;

                    case CacheKeys.Categories:
                        var categories = CategoryService.Queryable().Where(x => x.Enabled).OrderBy(x => x.Ordering).ToList();
                        UpdateCache(CacheKeys.Categories, categories);
                        break;

                    case CacheKeys.ListingTypes:
                        var ListingTypes = ListingTypeService.Query().Include(x => x.CategoryListingTypes).Select().ToList();
                        UpdateCache(CacheKeys.ListingTypes, ListingTypes);
                        break;

                    case CacheKeys.ContentPages:
                        var contentPages = ContentPageService.Queryable().Where(x => x.Published).OrderBy(x => x.Ordering).ToList();
                        UpdateCache(CacheKeys.ContentPages, contentPages);
                        break;

                    case CacheKeys.EmailTemplates:
                        var emailTemplates = EmailTemplateService.Queryable().ToList();
                        UpdateCache(CacheKeys.EmailTemplates, emailTemplates);
                        break;

                    case CacheKeys.Statistics:
                        SaveCategoryStats();

                        var statistics = new Statistics();
                        statistics.CategoryStats = CategoryStatService.Query().Include(x => x.Category).Select().ToList();

                        statistics.ListingCount     = ListingService.Queryable().Count();
                        statistics.UserCount        = AspNetUserService.Queryable().Count();
                        statistics.OrderCount       = OrderService.Queryable().Count();
                        statistics.TransactionCount = 0;

                        statistics.ItemsCountDictionary = ListingService.GetItemsCount(DateTime.Now.AddDays(-10));

                        UpdateCache(CacheKeys.Statistics, statistics);
                        break;

                    default:
                        break;
                    }
                }
                ;

                return(MainCache[CacheKeyName.ToString()] as Object);
            }
        }