private static void Initialize() { if (_providers == null) { HttpRuntime.CheckAspNetHostingPermission(AspNetHostingPermissionLevel.Low, "Feature_not_supported_at_this_level"); lock (_lockObject) { if (_providers == null) { SiteMapSection siteMap = RuntimeConfig.GetAppConfig().SiteMap; if (siteMap == null) { _providers = new SiteMapProviderCollection(); } else { if (!siteMap.Enabled) { throw new InvalidOperationException(System.Web.SR.GetString("SiteMap_feature_disabled", new object[] { "system.web/siteMap" })); } siteMap.ValidateDefaultProvider(); _providers = siteMap.ProvidersInternal; _provider = _providers[siteMap.DefaultProvider]; _providers.SetReadOnly(); } } } } }
private static void Initialize() { if (_providers != null) { return; } HttpRuntime.CheckAspNetHostingPermission(AspNetHostingPermissionLevel.Low, SR.Feature_not_supported_at_this_level); lock (_lockObject) { if (_providers != null) { return; } SiteMapSection config = RuntimeConfig.GetAppConfig().SiteMap; if (config == null) { // just return an empty collection so that designer will work. _providers = new SiteMapProviderCollection(); return; } if (!config.Enabled) { throw new InvalidOperationException(SR.GetString(SR.SiteMap_feature_disabled, SiteMap.SectionName)); } // Make sure the default provider exists. config.ValidateDefaultProvider(); _providers = config.ProvidersInternal; _provider = _providers[config.DefaultProvider]; _providers.SetReadOnly(); } }