public SiteMapNodeFactoryContainer(
     ConfigurationSettings settings,
     IMvcContextFactory mvcContextFactory,
     IUrlPath urlPath)
 {
     this.absoluteFileName = HostingEnvironment.MapPath(settings.SiteMapFileName);
     this.settings = settings;
     this.mvcContextFactory = mvcContextFactory;
     this.requestCache = this.mvcContextFactory.GetRequestCache();
     this.urlPath = urlPath;
     this.assemblyProvider = new AttributeAssemblyProvider(settings.IncludeAssembliesForScan, settings.ExcludeAssembliesForScan);
     this.mvcSiteMapNodeAttributeProvider = new MvcSiteMapNodeAttributeDefinitionProvider();
     this.dynamicNodeProviders = this.ResolveDynamicNodeProviders();
     this.siteMapNodeUrlResolvers = this.ResolveSiteMapNodeUrlResolvers();
     this.siteMapNodeVisibilityProviders = this.ResolveSiteMapNodeVisibilityProviders(settings.DefaultSiteMapNodeVisibiltyProvider);
 }
 public SiteMapNodeFactoryContainer(
     ConfigurationSettings settings,
     IMvcContextFactory mvcContextFactory,
     IUrlPath urlPath,
     IReservedAttributeNameProvider reservedAttributeNameProvider)
 {
     if (settings.EnableSiteMapFile)
     {
         this.absoluteFileName = HostingEnvironment.MapPath(settings.SiteMapFileName);
     }
     this.settings = settings;
     this.mvcContextFactory = mvcContextFactory;
     this.requestCache = this.mvcContextFactory.GetRequestCache();
     this.urlPath = urlPath;
     this.reservedAttributeNameProvider = reservedAttributeNameProvider;
     this.javaScriptSerializer = new JavaScriptSerializerAdapter();
     this.jsonToDictionaryDeserializer = new JsonToDictionaryDeserializer(this.javaScriptSerializer, this.mvcContextFactory);
     this.assemblyProvider = new AttributeAssemblyProvider(settings.IncludeAssembliesForScan, settings.ExcludeAssembliesForScan);
     this.mvcSiteMapNodeAttributeProvider = new MvcSiteMapNodeAttributeDefinitionProvider();
     this.dynamicNodeProviders = this.ResolveDynamicNodeProviders();
     this.siteMapNodeUrlResolvers = this.ResolveSiteMapNodeUrlResolvers();
     this.siteMapNodeVisibilityProviders = this.ResolveSiteMapNodeVisibilityProviders(settings.DefaultSiteMapNodeVisibiltyProvider);
 }