public SiteMapLoaderContainer(ConfigurationSettings settings)
        {
            // Singleton instances
            if (settings.EnableSiteMapFile)
            {
                this.absoluteFileName = HostingEnvironment.MapPath(settings.SiteMapFileName);
            }
            this.mvcContextFactory = new MvcContextFactory();
#if NET35
            this.siteMapCache = new SiteMapCache(new AspNetCacheProvider<ISiteMap>(this.mvcContextFactory));
#else
            this.siteMapCache = new SiteMapCache(new RuntimeCacheProvider<ISiteMap>(System.Runtime.Caching.MemoryCache.Default));
#endif
            this.cacheDependency = this.ResolveCacheDependency(settings);
            this.requestCache = this.mvcContextFactory.GetRequestCache();
            this.bindingFactory = new BindingFactory();
            this.bindingProvider = new BindingProvider(this.bindingFactory, this.mvcContextFactory);
            this.urlPath = new UrlPath(this.mvcContextFactory, this.bindingProvider);
            this.siteMapCacheKeyGenerator = new SiteMapCacheKeyGenerator(this.mvcContextFactory);
            this.siteMapCacheKeyToBuilderSetMapper = new SiteMapCacheKeyToBuilderSetMapper();
            this.reservedAttributeNameProvider = new ReservedAttributeNameProvider(settings.AttributesToIgnore);
            var siteMapNodeFactoryContainer = new SiteMapNodeFactoryContainer(settings, this.mvcContextFactory, this.urlPath, this.reservedAttributeNameProvider);
            this.siteMapNodeToParentRelationFactory = new SiteMapNodeToParentRelationFactory();
            this.nodeKeyGenerator = new NodeKeyGenerator();
            this.siteMapNodeFactory = siteMapNodeFactoryContainer.ResolveSiteMapNodeFactory();
            this.siteMapNodeCreatorFactory = this.ResolveSiteMapNodeCreatorFactory();
            this.cultureContextFactory = new CultureContextFactory();
            this.dynamicSiteMapNodeBuilderFactory = new DynamicSiteMapNodeBuilderFactory(this.siteMapNodeCreatorFactory, this.cultureContextFactory);
            this.siteMapHierarchyBuilder = new SiteMapHierarchyBuilder();
            this.siteMapNodeHelperFactory = this.ResolveSiteMapNodeHelperFactory();
            this.siteMapNodeVisitor = this.ResolveSiteMapNodeVisitor(settings);
            this.siteMapXmlNameProvider = new SiteMapXmlNameProvider();
            this.attributeAssemblyProviderFactory = new AttributeAssemblyProviderFactory();
            this.mvcSiteMapNodeAttributeDefinitionProvider = new MvcSiteMapNodeAttributeDefinitionProvider();
            this.siteMapNodeProvider = this.ResolveSiteMapNodeProvider(settings);
            this.siteMapBuiderSetStrategy = this.ResolveSiteMapBuilderSetStrategy(settings);
            var siteMapFactoryContainer = new SiteMapFactoryContainer(settings, this.mvcContextFactory, this.urlPath);
            this.siteMapFactory = siteMapFactoryContainer.ResolveSiteMapFactory();
            this.siteMapCreator = new SiteMapCreator(this.siteMapCacheKeyToBuilderSetMapper, this.siteMapBuiderSetStrategy, this.siteMapFactory);
        }
        public SiteMapLoaderContainer(ConfigurationSettings settings)
        {
            // Singleton instances
            if (settings.EnableSiteMapFile)
            {
                this.absoluteFileName = HostingEnvironment.MapPath(settings.SiteMapFileName);
            }
            this.mvcContextFactory = new MvcContextFactory();
#if NET35
            this.siteMapCache = new SiteMapCache(new AspNetCacheProvider <ISiteMap>(this.mvcContextFactory));
#else
            this.siteMapCache = new SiteMapCache(new RuntimeCacheProvider <ISiteMap>(System.Runtime.Caching.MemoryCache.Default));
#endif
            this.cacheDependency                   = this.ResolveCacheDependency(settings);
            this.requestCache                      = this.mvcContextFactory.GetRequestCache();
            this.bindingFactory                    = new BindingFactory();
            this.bindingProvider                   = new BindingProvider(this.bindingFactory, this.mvcContextFactory);
            this.urlPath                           = new UrlPath(this.mvcContextFactory, this.bindingProvider);
            this.siteMapCacheKeyGenerator          = new SiteMapCacheKeyGenerator(this.mvcContextFactory);
            this.siteMapCacheKeyToBuilderSetMapper = new SiteMapCacheKeyToBuilderSetMapper();
            this.reservedAttributeNameProvider     = new ReservedAttributeNameProvider(settings.AttributesToIgnore);
            var siteMapNodeFactoryContainer = new SiteMapNodeFactoryContainer(settings, this.mvcContextFactory, this.urlPath, this.reservedAttributeNameProvider);
            this.siteMapNodeToParentRelationFactory = new SiteMapNodeToParentRelationFactory();
            this.nodeKeyGenerator                          = new NodeKeyGenerator();
            this.siteMapNodeFactory                        = siteMapNodeFactoryContainer.ResolveSiteMapNodeFactory();
            this.siteMapNodeCreatorFactory                 = this.ResolveSiteMapNodeCreatorFactory();
            this.cultureContextFactory                     = new CultureContextFactory();
            this.dynamicSiteMapNodeBuilderFactory          = new DynamicSiteMapNodeBuilderFactory(this.siteMapNodeCreatorFactory, this.cultureContextFactory);
            this.siteMapHierarchyBuilder                   = new SiteMapHierarchyBuilder();
            this.siteMapNodeHelperFactory                  = this.ResolveSiteMapNodeHelperFactory();
            this.siteMapNodeVisitor                        = this.ResolveSiteMapNodeVisitor(settings);
            this.siteMapXmlNameProvider                    = new SiteMapXmlNameProvider();
            this.attributeAssemblyProviderFactory          = new AttributeAssemblyProviderFactory();
            this.mvcSiteMapNodeAttributeDefinitionProvider = new MvcSiteMapNodeAttributeDefinitionProvider();
            this.siteMapNodeProvider                       = this.ResolveSiteMapNodeProvider(settings);
            this.siteMapBuiderSetStrategy                  = this.ResolveSiteMapBuilderSetStrategy(settings);
            var siteMapFactoryContainer = new SiteMapFactoryContainer(settings, this.mvcContextFactory, this.urlPath);
            this.siteMapFactory = siteMapFactoryContainer.ResolveSiteMapFactory();
            this.siteMapCreator = new SiteMapCreator(this.siteMapCacheKeyToBuilderSetMapper, this.siteMapBuiderSetStrategy, this.siteMapFactory);
        }
 public SiteMapLoaderContainer(ConfigurationSettings settings)
 {
     // Singleton instances
     this.absoluteFileName = HostingEnvironment.MapPath(settings.SiteMapFileName);
     this.mvcContextFactory = new MvcContextFactory();
     #if NET35
     this.siteMapCache = new SiteMapCache(new AspNetCacheProvider<ISiteMap>(this.mvcContextFactory));
     #else
     this.siteMapCache = new SiteMapCache(new RuntimeCacheProvider<ISiteMap>(System.Runtime.Caching.MemoryCache.Default));
     #endif
     this.requestCache = this.mvcContextFactory.GetRequestCache();
     this.urlPath = new UrlPath(this.mvcContextFactory);
     this.siteMapCacheKeyGenerator = new SiteMapCacheKeyGenerator(this.mvcContextFactory);
     this.siteMapCacheKeyToBuilderSetMapper = new SiteMapCacheKeyToBuilderSetMapper();
     this.nodeKeyGenerator = new NodeKeyGenerator();
     var siteMapNodeFactoryContainer = new SiteMapNodeFactoryContainer(settings, this.mvcContextFactory, this.urlPath);
     this.siteMapNodeFactory = siteMapNodeFactoryContainer.ResolveSiteMapNodeFactory();
     this.siteMapXmlNameProvider = new SiteMapXmlNameProvider();
     this.dynamicNodeBuilder = new DynamicNodeBuilder(this.nodeKeyGenerator, this.siteMapNodeFactory);
     this.siteMapBuiderSetStrategy = this.ResolveSiteMapBuilderSetStrategy(settings);
     var siteMapFactoryContainer = new SiteMapFactoryContainer(settings, this.mvcContextFactory, this.urlPath);
     this.siteMapFactory = siteMapFactoryContainer.ResolveSiteMapFactory();
     this.siteMapCreator = new SiteMapCreator(this.siteMapCacheKeyToBuilderSetMapper, this.siteMapBuiderSetStrategy, this.siteMapFactory);
 }
        public SiteMapLoaderContainer(ConfigurationSettings settings)
        {
            // Singleton instances
            this.absoluteFileName  = HostingEnvironment.MapPath(settings.SiteMapFileName);
            this.mvcContextFactory = new MvcContextFactory();
#if NET35
            this.siteMapCache = new SiteMapCache(new AspNetCacheProvider <ISiteMap>(this.mvcContextFactory));
#else
            this.siteMapCache = new SiteMapCache(new RuntimeCacheProvider <ISiteMap>(System.Runtime.Caching.MemoryCache.Default));
#endif
            this.requestCache                      = this.mvcContextFactory.GetRequestCache();
            this.urlPath                           = new UrlPath(this.mvcContextFactory);
            this.siteMapCacheKeyGenerator          = new SiteMapCacheKeyGenerator(this.mvcContextFactory);
            this.siteMapCacheKeyToBuilderSetMapper = new SiteMapCacheKeyToBuilderSetMapper();
            this.nodeKeyGenerator                  = new NodeKeyGenerator();
            var siteMapNodeFactoryContainer = new SiteMapNodeFactoryContainer(settings, this.mvcContextFactory, this.urlPath);
            this.siteMapNodeFactory       = siteMapNodeFactoryContainer.ResolveSiteMapNodeFactory();
            this.siteMapXmlNameProvider   = new SiteMapXmlNameProvider();
            this.dynamicNodeBuilder       = new DynamicNodeBuilder(this.nodeKeyGenerator, this.siteMapNodeFactory);
            this.siteMapBuiderSetStrategy = this.ResolveSiteMapBuilderSetStrategy(settings);
            var siteMapFactoryContainer = new SiteMapFactoryContainer(settings, this.mvcContextFactory, this.urlPath);
            this.siteMapFactory = siteMapFactoryContainer.ResolveSiteMapFactory();
            this.siteMapCreator = new SiteMapCreator(this.siteMapCacheKeyToBuilderSetMapper, this.siteMapBuiderSetStrategy, this.siteMapFactory);
        }