コード例 #1
0
        /// <summary>
        /// Gets the SiteMapMenu section settings of the app.config or web.config
        /// </summary>
        public static SiteMapMenuSection GetSiteMapMenuSection(IUrlRewriteController urlRewriteController)
        {
            SiteMapMenuSection section = (SiteMapMenuSection)ConfigurationManager.GetSection(SiteMapMenuControllerFactory.SECTION_NAME);

            section.UrlRewriteController = urlRewriteController;
            return(section);
        }
コード例 #2
0
        /// <summary>
        /// Gets the UrlRewrite section settings of the app.config
        /// </summary>
        public static IUrlRewriteController CreateUrlRewriteController()
        {
            UrlRewriteSection section = (UrlRewriteSection)ConfigurationManager.GetSection(SECTION_NAME);

            if (!string.IsNullOrEmpty(section.UrlRewriteControllerProviderType))
            {
                switch (section.UrlRewriteControllerProviderType.ToLower())
                {
                case "web.sitemap":
                    return(new WebSitemapWrapper());

                default:

                    IUrlRewriteController customController = Activator.CreateInstance(Type.GetType(section.UrlRewriteControllerProviderType)) as IUrlRewriteController;
                    if (customController != null)
                    {
                        return(customController.CreateUrlRewriteControllerInstance());
                    }

                    break;
                }
            }

            return(section);
        }
コード例 #3
0
        /// <summary>
        /// Instances the specified controller.
        /// </summary>
        /// <param name="controller">The controller.</param>
        /// <returns></returns>
        public static SiteMapUrls Instance(IUrlRewriteController controller)
        {
            if (_Instance == null)
            {
                _Instance = new SiteMapUrls();
            }

            _Instance._Controller = controller;

            return(_Instance);
        }
コード例 #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SiteMapUrls"/> class.
        /// </summary>
        private CachedSiteMapUrls()
        {
            try { _UrlRewriteController = UrlRewriteControllerFactory.CreateUrlRewriteController(); }
            catch (Exception err) { throw new NavigationException("Error at creating IUrlRewriteController instance. See inner exception for further details.", err); }

            this._CacheKey = _UrlRewriteController.SitemapUrlsCacheKey;
            this._CacheDurationInSeconds = _UrlRewriteController.SitemapUrlsCacheDurationInSeconds;
            this._CacheItemPriority      = _UrlRewriteController.SitemapUrlsCacheItemPriority;

            Reload();
        }
コード例 #5
0
        /// <summary>
        /// Gets the SiteMapMenu section settings of the app.config
        /// </summary>
        public static ISiteMapMenuController CreateSiteMapMenuController(IUrlRewriteController urlRewriteController)
        {
            SiteMapMenuSection section = (SiteMapMenuSection)ConfigurationManager.GetSection(SECTION_NAME);

            if (!string.IsNullOrEmpty(section.SiteMapMenuControllerProviderType))
            {
                ISiteMapMenuController customController = Activator.CreateInstance(Type.GetType(section.SiteMapMenuControllerProviderType)) as ISiteMapMenuController;
                if (customController != null)
                {
                    return(customController.CreateSiteMapMenuControllerInstance(urlRewriteController));
                }
            }

            return(section);
        }
コード例 #6
0
        public ISiteMapMenuController CreateSiteMapMenuControllerInstance(IUrlRewriteController urlRewriteController)
        {
            string errormessage           = string.Empty;
            MockupSiteMapMenuController c = FantasyLeague.CommonTools.Xml.XmlSerializationHelper <MockupSiteMapMenuController> .ConvertFromFile(
                Configuration.SiteMapMenuControllerXmlPath, out errormessage);

            if (!string.IsNullOrEmpty(errormessage))
            {
                throw new Exception(errormessage);
            }

            this.UrlRewriteController = urlRewriteController;
            foreach (ISiteMapMenu menu in c.SiteMapMenus.Values)
            {
                foreach (ISiteMapMenuItem item in menu.MenuNodes)
                {
                    LoadRewriteItems(item);
                }
            }

            return(c);
        }
コード例 #7
0
 /// <summary>
 /// Reloads the site map.
 /// </summary>
 public void Reload()
 {
     _Rules      = null;
     _Controller = null;
 }
コード例 #8
0
 /// <summary>
 /// Creates an instance of this object's default controller.
 /// </summary>
 /// <returns></returns>
 public ISiteMapMenuController CreateSiteMapMenuControllerInstance(IUrlRewriteController urlRewriteController)
 {
     return(SiteMapMenuSectionManager.GetSiteMapMenuSection(urlRewriteController));
 }
コード例 #9
0
 /// <summary>
 /// Creates an instance of this object's default controller.
 /// </summary>
 /// <param name="urlRewriteController">The URL rewrite controller.</param>
 /// <returns></returns>
 public abstract ISiteMapMenuController CreateSiteMapMenuControllerInstance(IUrlRewriteController urlRewriteController);