public SiteMapBuilderSet(
           string instanceName,
           bool securityTrimmingEnabled,
           bool enableLocalization,
           bool visibilityAffectsDescendants,
           bool useTitleIfDescriptionNotProvided,
           ISiteMapBuilder siteMapBuilder,
           ICacheDetails cacheDetails
           )
        {
            if (string.IsNullOrEmpty(instanceName))
                throw new ArgumentNullException("instanceName");
            if (siteMapBuilder == null)
                throw new ArgumentNullException("siteMapBuilder");
            if (cacheDetails == null)
                throw new ArgumentNullException("cacheDetails");

            this.instanceName = instanceName;
            this.securityTrimmingEnabled = securityTrimmingEnabled;
            this.enableLocalization = enableLocalization;
            this.visibilityAffectsDescendants = visibilityAffectsDescendants;
            this.useTitleIfDescriptionNotProvided = useTitleIfDescriptionNotProvided;
            this.siteMapBuilder = siteMapBuilder;
            this.cacheDetails = cacheDetails;
        }
        public SiteMapBuilderSet(
            string instanceName,
            bool securityTrimmingEnabled,
            bool enableLocalization,
            bool visibilityAffectsDescendants,
            bool useTitleIfDescriptionNotProvided,
            ISiteMapBuilder siteMapBuilder,
            ICacheDetails cacheDetails
            )
        {
            if (string.IsNullOrEmpty(instanceName))
            {
                throw new ArgumentNullException("instanceName");
            }
            if (siteMapBuilder == null)
            {
                throw new ArgumentNullException("siteMapBuilder");
            }
            if (cacheDetails == null)
            {
                throw new ArgumentNullException("cacheDetails");
            }

            this.instanceName                     = instanceName;
            this.securityTrimmingEnabled          = securityTrimmingEnabled;
            this.enableLocalization               = enableLocalization;
            this.visibilityAffectsDescendants     = visibilityAffectsDescendants;
            this.useTitleIfDescriptionNotProvided = useTitleIfDescriptionNotProvided;
            this.siteMapBuilder                   = siteMapBuilder;
            this.cacheDetails                     = cacheDetails;
        }
        public SiteMapBuilderSet(
            string instanceName,
            bool securityTrimmingEnabled,
            bool enableLocalization,
            ISiteMapBuilder siteMapBuilder,
            ICacheDetails cacheDetails
            )
        {
            if (string.IsNullOrEmpty(instanceName))
            {
                throw new ArgumentNullException("instanceName");
            }
            if (siteMapBuilder == null)
            {
                throw new ArgumentNullException("siteMapBuilder");
            }
            if (cacheDetails == null)
            {
                throw new ArgumentNullException("cacheDetails");
            }

            this.instanceName            = instanceName;
            this.securityTrimmingEnabled = securityTrimmingEnabled;
            this.enableLocalization      = enableLocalization;
            this.siteMapBuilder          = siteMapBuilder;
            this.cacheDetails            = cacheDetails;
        }
        public void Add(string key, LazyLock item, ICacheDetails cacheDetails)
        {
            var policy = new CacheItemPolicy();

            // Set timeout
            policy.Priority = CacheItemPriority.NotRemovable;
            if (IsTimespanSet(cacheDetails.AbsoluteCacheExpiration))
            {
                policy.AbsoluteExpiration = DateTimeOffset.Now.Add(cacheDetails.AbsoluteCacheExpiration);
            }
            else if (IsTimespanSet(cacheDetails.SlidingCacheExpiration))
            {
                policy.SlidingExpiration = cacheDetails.SlidingCacheExpiration;
            }

            // Add dependencies
            var dependencies = (IList <ChangeMonitor>)cacheDetails.CacheDependency.Dependency;

            if (dependencies != null)
            {
                foreach (var dependency in dependencies)
                {
                    policy.ChangeMonitors.Add(dependency);
                }
            }

            // Setting priority to not removable ensures an
            // app pool recycle doesn't unload the item, but a timeout will.
            policy.Priority = CacheItemPriority.NotRemovable;

            // Setup callback
            policy.RemovedCallback = CacheItemRemoved;

            cache.Add(key, item, policy);
        }
 public SiteMapBuilderSet(
     string instanceName,
     bool securityTrimmingEnabled,
     bool enableLocalization,
     ISiteMapBuilder siteMapBuilder,
     ICacheDetails cacheDetails
     )
     : this(instanceName,
         securityTrimmingEnabled,
         enableLocalization,
         true,
         true,
         siteMapBuilder,
         cacheDetails)
 {
 }
Esempio n. 6
0
        public void Add(string key, LazyLock item, ICacheDetails cacheDetails)
        {
            DateTime absolute = System.Web.Caching.Cache.NoAbsoluteExpiration;
            TimeSpan sliding  = System.Web.Caching.Cache.NoSlidingExpiration;

            if (IsTimespanSet(cacheDetails.AbsoluteCacheExpiration))
            {
                absolute = DateTime.UtcNow.Add(cacheDetails.AbsoluteCacheExpiration);
            }
            else if (IsTimespanSet(cacheDetails.SlidingCacheExpiration))
            {
                sliding = cacheDetails.SlidingCacheExpiration;
            }
            var dependency = (CacheDependency)cacheDetails.CacheDependency.Dependency;

            Context.Cache.Insert(key, item, dependency, absolute, sliding, CacheItemPriority.NotRemovable, this.OnItemRemoved);
        }
 public SiteMapBuilderSet(
     string instanceName,
     bool securityTrimmingEnabled,
     bool enableLocalization,
     ISiteMapBuilder siteMapBuilder,
     ICacheDetails cacheDetails
     )
     : this(
         instanceName,
         securityTrimmingEnabled,
         enableLocalization,
         true,
         true,
         siteMapBuilder,
         cacheDetails
         )
 {
 }
        public SiteMap GetOrAdd(string siteMapCacheKey, Func<SiteMap> createFunction, ICacheDetails cacheDetails)
        {
            SiteMap siteMap;
            var success = cacheProvider.TryGetValue(siteMapCacheKey, out siteMap);

            if (!success)
            {
                System.Diagnostics.Debug.WriteLine($"Cache Miss: {siteMapCacheKey}");
                siteMap = createFunction();
                cacheProvider.Add(siteMapCacheKey, siteMap, cacheDetails);
            }
            else
            {
                System.Diagnostics.Debug.WriteLine($"Cache Hit: {siteMapCacheKey}");
            }

            return siteMap;
        }
        public SiteMapBuilderSet(
            string instanceName,
            bool securityTrimmingEnabled,
            bool enableLocalization,
            ISiteMapBuilder siteMapBuilder,
            ICacheDetails cacheDetails
            )
        {
            if (string.IsNullOrEmpty(instanceName))
                throw new ArgumentNullException("instanceName");
            if (siteMapBuilder == null)
                throw new ArgumentNullException("siteMapBuilder");
            if (cacheDetails == null)
                throw new ArgumentNullException("cacheDetails");

            this.instanceName = instanceName;
            this.securityTrimmingEnabled = securityTrimmingEnabled;
            this.enableLocalization = enableLocalization;
            this.siteMapBuilder = siteMapBuilder;
            this.cacheDetails = cacheDetails;
        }
 public void Add(string key, LazyLock item, ICacheDetails cacheDetails)
 {
     // NOTE: cacheDetails is normally used to set the timeout - you might
     // need to roll your own method for doing that.
     Context.Session[key] = item;
 }
Esempio n. 11
0
 public SiteMapBuilderSet(string builderSetName, ISiteMapDataSource siteMapDataSource, ICacheDetails cacheDetails)
 {
     this.siteMapDataSource = siteMapDataSource;
     this.builderSetName    = builderSetName;
     this.cacheDetails      = cacheDetails;
 }
Esempio n. 12
0
 public void Add(string key, T item, ICacheDetails cacheDetails)
 {
 }
 public SiteMapBuilderSet(string builderSetName, ISiteMapDataSource siteMapDataSource, ICacheDetails cacheDetails)
 {
     this.siteMapDataSource = siteMapDataSource;
     this.builderSetName = builderSetName;
     this.cacheDetails = cacheDetails;
 }
        public SiteMap GetOrAdd(string siteMapCacheKey, Func<SiteMap> createFunction, ICacheDetails cacheDetails)
        {
            SiteMap siteMap;
            var success = cacheProvider.TryGetValue(siteMapCacheKey, out siteMap);

            if (!success)
            {
                System.Diagnostics.Debug.WriteLine($"Cache Miss: {siteMapCacheKey}");
                siteMap = createFunction();
                cacheProvider.Add(siteMapCacheKey, siteMap, cacheDetails);
            }
            else
            {
                System.Diagnostics.Debug.WriteLine($"Cache Hit: {siteMapCacheKey}");
            }

            return siteMap;
        }