public override SiteMapNode BuildSiteMap() { if (root != null && HttpContext.Current.Cache[cacheKey] != null) { return root; } lock (locker) { Clear(); try { root = CreateSiteMap(); // AddNode(root); if (canCache) { HttpContext.Current.Cache .Add(cacheKey, String.Empty, null, DateTime.Now.Add(cacheDuration), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null); } } catch (Exception exception) { throw new Exception("", exception); } } return root; }
public override SiteMapNode BuildSiteMap() { if (root != null && HttpContext.Current.Cache[CacheKey] != null) { return root; } lock (locker) { if (root != null) { return root; } Clear(); try { root = CreateSiteMapFromFile(); if (canCache) { HttpContext.Current.Cache .Add(CacheKey, String.Empty, new CacheDependency(HttpContext.Current.Server.MapPath(siteMapFile)), DateTime.Now.Add(cacheDuration), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null); } } catch (Exception exception) { throw new Exception("", exception); } } return root; }
protected override void Clear() { base.Clear(); root = null; }