示例#1
0
 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;
 }
示例#2
0
 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;
 }
示例#3
0
 public static void ClearCache(Site site)
 {
     site.ObjectCache().Remove(cacheKey);
 }
示例#4
0
 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();
     });
 }
示例#5
0
 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;
     });
 }