Exemple #1
0
        public void DeleteDefaultComponentData(PageBase page)
        {
            var oldDatas = DefaultComponentDataRepository.GetAllIncluding(e => e.SingleDatas).Where(e => e.PageId == page.Id).ToList();

            oldDatas.ForEach(item => {
                DefaultComponentDataRepository.Delete(item);
            });

            SetInvalidForCache(page.Name);
        }
Exemple #2
0
        /// <summary>
        /// 从缓存获取页面对应的组件
        /// </summary>
        /// <param name="pageName"></param>
        /// <returns></returns>
        public List <DefaultComponentData> GetDefaultComponentsForCache(string pageName)
        {
            return(_cache.GetOrCreate <List <DefaultComponentData> >(GetCacheName(pageName), cacheEntity => {
                cacheEntity.SlidingExpiration = TimeSpan.FromHours(1);

                cacheEntity.AbsoluteExpirationRelativeToNow = TimeSpan.FromDays(1);

                cacheEntity.SetPriority(CacheItemPriority.NeverRemove);

                DefaultComponentDataRepository.NoTracking();
                var componentDatas = DefaultComponentDataRepository.GetAllIncluding(e => e.SingleDatas).Where(e => e.Page.Name == pageName).ToList();
                DefaultComponentDataRepository.Tracking();

                return componentDatas;
            }));
        }