public static IElementRepository GetElementRepository(Site site) { var repository = site.ObjectCache().Get(cacheKey); if (repository == null) { repository = new Kooboo.Globalization.Repository.CacheElementRepository(() => Kooboo.CMS.Common.Runtime.EngineContext.Current.Resolve<IElementRepositoryFactory>().CreateRepository(site)); site.ObjectCache().Add(cacheKey, repository, new System.Runtime.Caching.CacheItemPolicy() { SlidingExpiration = TimeSpan.Parse("00:30:00") }); } return (IElementRepository)repository; }
public static IElementRepository GetElementRepository(Site site) { var repository = site.ObjectCache().Get(cacheKey); if (repository == null) { repository = new Kooboo.Globalization.Repository.CacheElementRepository(DefaultRepositoryFactory.Instance.CreateRepository(site)); site.ObjectCache().Add(cacheKey, repository, new System.Runtime.Caching.CacheItemPolicy() { SlidingExpiration = TimeSpan.Parse("00:30:00") }); } return (IElementRepository)repository; }
public static void ClearCache(Site site) { site.ObjectCache().Remove(cacheKey); }
public virtual IEnumerable<Type> GetTypes(Site site, Type type) { return site.ObjectCache().GetCache<List<Type>>("AssemblyManager.GetTypes_" + type.FullName, () => { List<Type> types = new List<Type>(); while (site != null) { types.AddRange(GetTypes(site) .Where(it => type.IsAssignableFrom(it) && !it.IsInterface && !it.IsAbstract)); site = site.Parent; } return types.Distinct().ToList(); }); }
public virtual IEnumerable<Type> GetTypes(Site site) { return site.ObjectCache().GetCache<List<Type>>("AssemblyManager.GetTypes", () => { List<Type> types = new List<Type>(); foreach (var assembly in GetAssemblies(site)) { types.AddRange(assembly.GetTypes()); } return types; }); }