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;
        }
Example #2
0
        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;
        }
Example #3
0
 protected override void Clear()
 {
     base.Clear();
     root = null;
 }