Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / SiteMapSection.cs / 1305376 / SiteMapSection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Xml; using System.Configuration; using System.Collections.Specialized; using System.Collections; using System.IO; using System.Text; using System.Security.Permissions; /**/ public sealed class SiteMapSection : ConfigurationSection { private static ConfigurationPropertyCollection _properties; private static readonly ConfigurationProperty _propDefaultProvider = new ConfigurationProperty("defaultProvider", typeof(string), "AspNetXmlSiteMapProvider", null, StdValidatorsAndConverters.NonEmptyStringValidator, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propEnabled = new ConfigurationProperty("enabled", typeof(bool), true, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propProviders = new ConfigurationProperty("providers", typeof(ProviderSettingsCollection), null, ConfigurationPropertyOptions.None); private SiteMapProviderCollection _siteMapProviders; static SiteMapSection() { // Property initialization _properties = new ConfigurationPropertyCollection(); _properties.Add(_propDefaultProvider); _properties.Add(_propEnabled); _properties.Add(_propProviders); } public SiteMapSection() { } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("defaultProvider", DefaultValue = "AspNetXmlSiteMapProvider")] [StringValidator(MinLength = 1)] public string DefaultProvider { get { return (string)base[_propDefaultProvider]; } set { base[_propDefaultProvider] = value; } } [ConfigurationProperty("enabled", DefaultValue = true)] public bool Enabled { get { return (bool)base[_propEnabled]; } set { base[_propEnabled] = value; } } [ConfigurationProperty("providers")] public ProviderSettingsCollection Providers { get { return (ProviderSettingsCollection)base[_propProviders]; } } internal SiteMapProviderCollection ProvidersInternal { get { if (_siteMapProviders == null) { lock (this) { if (_siteMapProviders == null) { SiteMapProviderCollection siteMapProviders = new SiteMapProviderCollection(); ProvidersHelper.InstantiateProviders(Providers, siteMapProviders, typeof(SiteMapProvider)); _siteMapProviders = siteMapProviders; } } } return _siteMapProviders; } } internal void ValidateDefaultProvider() { if (!String.IsNullOrEmpty(DefaultProvider)) // make sure the specified provider has a provider entry in the collection { if (Providers[DefaultProvider] == null) { throw new ConfigurationErrorsException( SR.GetString(SR.Config_provider_must_exist, DefaultProvider), ElementInformation.Properties[_propDefaultProvider.Name].Source, ElementInformation.Properties[_propDefaultProvider.Name].LineNumber); } } } } // class SiteMapSection } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Xml; using System.Configuration; using System.Collections.Specialized; using System.Collections; using System.IO; using System.Text; using System.Security.Permissions; /**/ public sealed class SiteMapSection : ConfigurationSection { private static ConfigurationPropertyCollection _properties; private static readonly ConfigurationProperty _propDefaultProvider = new ConfigurationProperty("defaultProvider", typeof(string), "AspNetXmlSiteMapProvider", null, StdValidatorsAndConverters.NonEmptyStringValidator, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propEnabled = new ConfigurationProperty("enabled", typeof(bool), true, ConfigurationPropertyOptions.None); private static readonly ConfigurationProperty _propProviders = new ConfigurationProperty("providers", typeof(ProviderSettingsCollection), null, ConfigurationPropertyOptions.None); private SiteMapProviderCollection _siteMapProviders; static SiteMapSection() { // Property initialization _properties = new ConfigurationPropertyCollection(); _properties.Add(_propDefaultProvider); _properties.Add(_propEnabled); _properties.Add(_propProviders); } public SiteMapSection() { } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("defaultProvider", DefaultValue = "AspNetXmlSiteMapProvider")] [StringValidator(MinLength = 1)] public string DefaultProvider { get { return (string)base[_propDefaultProvider]; } set { base[_propDefaultProvider] = value; } } [ConfigurationProperty("enabled", DefaultValue = true)] public bool Enabled { get { return (bool)base[_propEnabled]; } set { base[_propEnabled] = value; } } [ConfigurationProperty("providers")] public ProviderSettingsCollection Providers { get { return (ProviderSettingsCollection)base[_propProviders]; } } internal SiteMapProviderCollection ProvidersInternal { get { if (_siteMapProviders == null) { lock (this) { if (_siteMapProviders == null) { SiteMapProviderCollection siteMapProviders = new SiteMapProviderCollection(); ProvidersHelper.InstantiateProviders(Providers, siteMapProviders, typeof(SiteMapProvider)); _siteMapProviders = siteMapProviders; } } } return _siteMapProviders; } } internal void ValidateDefaultProvider() { if (!String.IsNullOrEmpty(DefaultProvider)) // make sure the specified provider has a provider entry in the collection { if (Providers[DefaultProvider] == null) { throw new ConfigurationErrorsException( SR.GetString(SR.Config_provider_must_exist, DefaultProvider), ElementInformation.Properties[_propDefaultProvider.Name].Source, ElementInformation.Properties[_propDefaultProvider.Name].LineNumber); } } } } // class SiteMapSection } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlWrappingReader.cs
- CellConstant.cs
- XmlRootAttribute.cs
- TrackingServices.cs
- SerializationException.cs
- InstallHelper.cs
- CodeIterationStatement.cs
- FacetDescription.cs
- CheckBox.cs
- DataGridViewCellStyle.cs
- DataStreamFromComStream.cs
- NullableBoolConverter.cs
- SimpleNameService.cs
- MessagingDescriptionAttribute.cs
- DbParameterCollection.cs
- COSERVERINFO.cs
- FileVersionInfo.cs
- TypeValidationEventArgs.cs
- DatePickerTextBox.cs
- UrlPropertyAttribute.cs
- DataTemplate.cs
- QueryStringParameter.cs
- DataGridBoolColumn.cs
- ResXResourceWriter.cs
- BrowserCapabilitiesCompiler.cs
- StaticDataManager.cs
- RelationshipSet.cs
- CommonGetThemePartSize.cs
- HostedHttpTransportManager.cs
- Vector3DIndependentAnimationStorage.cs
- NullableFloatAverageAggregationOperator.cs
- Drawing.cs
- BinaryCommonClasses.cs
- _Semaphore.cs
- NullableDoubleSumAggregationOperator.cs
- WindowPatternIdentifiers.cs
- MemberListBinding.cs
- SubMenuStyle.cs
- CodeGroup.cs
- CodePageEncoding.cs
- RightsManagementPermission.cs
- CreateParams.cs
- ComponentSerializationService.cs
- DataSourceGeneratorException.cs
- SqlNodeTypeOperators.cs
- SQLGuidStorage.cs
- SingleTagSectionHandler.cs
- EntityContainerEntitySet.cs
- ResourcePool.cs
- CodeTypeParameter.cs
- DSACryptoServiceProvider.cs
- HtmlHead.cs
- PassportPrincipal.cs
- EmbeddedObject.cs
- TimeSpanHelper.cs
- FileNotFoundException.cs
- RealizationDrawingContextWalker.cs
- TokenBasedSetEnumerator.cs
- NonVisualControlAttribute.cs
- DataGridViewCellStyle.cs
- Delegate.cs
- ScriptReferenceBase.cs
- OdbcParameter.cs
- CompilerWrapper.cs
- UriExt.cs
- TypographyProperties.cs
- BroadcastEventHelper.cs
- EncodingInfo.cs
- ServiceManager.cs
- PerfCounters.cs
- CatalogZone.cs
- DesignerSerializationVisibilityAttribute.cs
- IpcPort.cs
- UnauthorizedAccessException.cs
- EventMap.cs
- PropertyItem.cs
- SegmentInfo.cs
- WinInet.cs
- BufferModesCollection.cs
- CompilationSection.cs
- InertiaTranslationBehavior.cs
- SubpageParaClient.cs
- QueryOperationResponseOfT.cs
- SingleSelectRootGridEntry.cs
- SafeHandles.cs
- FlowchartSizeFeature.cs
- WebContext.cs
- ExpandableObjectConverter.cs
- JapaneseCalendar.cs
- CustomError.cs
- MarkupObject.cs
- xdrvalidator.cs
- SemaphoreFullException.cs
- TransformerInfoCollection.cs
- GridViewAutomationPeer.cs
- TemplateBindingExtensionConverter.cs
- HttpWebRequest.cs
- UserControl.cs
- IdentityNotMappedException.cs
- QueryRewriter.cs