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
- TemplateBindingExtensionConverter.cs
- TemplatePartAttribute.cs
- TextDecorationCollection.cs
- DataGridParentRows.cs
- Base64Decoder.cs
- MarkupCompilePass1.cs
- TextServicesHost.cs
- SqlCacheDependencyDatabase.cs
- XmlILOptimizerVisitor.cs
- DataSourceHelper.cs
- TabControl.cs
- XMLUtil.cs
- LocatorBase.cs
- ComEventsHelper.cs
- ReadOnlyCollectionBase.cs
- Queue.cs
- TableLayoutColumnStyleCollection.cs
- InternalSafeNativeMethods.cs
- DynamicDiscoveryDocument.cs
- SqlConnectionPoolGroupProviderInfo.cs
- SQLSingleStorage.cs
- WizardDesigner.cs
- MouseActionConverter.cs
- CompositeFontFamily.cs
- MDIClient.cs
- MimeBasePart.cs
- HttpProxyTransportBindingElement.cs
- StringCollection.cs
- StrongNameUtility.cs
- DataGridTablesFactory.cs
- DbException.cs
- PassportAuthenticationModule.cs
- IndexerNameAttribute.cs
- SBCSCodePageEncoding.cs
- RawContentTypeMapper.cs
- TextElementEditingBehaviorAttribute.cs
- VersionedStreamOwner.cs
- MimeTypeAttribute.cs
- TypeHelpers.cs
- MdImport.cs
- DataGridViewRowStateChangedEventArgs.cs
- FrameworkContentElementAutomationPeer.cs
- ExpressionList.cs
- RuleEngine.cs
- _BasicClient.cs
- XamlVector3DCollectionSerializer.cs
- DockAndAnchorLayout.cs
- ImageButton.cs
- ContextProperty.cs
- MultiAsyncResult.cs
- Separator.cs
- ProviderException.cs
- BitSet.cs
- RegexMatch.cs
- FileCodeGroup.cs
- ConnectionPoolManager.cs
- VirtualPathUtility.cs
- MessageDecoder.cs
- HighContrastHelper.cs
- BamlRecordWriter.cs
- RoleService.cs
- SoapIncludeAttribute.cs
- ChangeTracker.cs
- TextTreeRootTextBlock.cs
- EntityDataSourceChangingEventArgs.cs
- ErrorCodes.cs
- RadioButton.cs
- StandardMenuStripVerb.cs
- XmlChoiceIdentifierAttribute.cs
- ManagementScope.cs
- SimpleMailWebEventProvider.cs
- UserControlBuildProvider.cs
- SortDescriptionCollection.cs
- SourceItem.cs
- ContentPosition.cs
- SpotLight.cs
- ProfilePropertySettingsCollection.cs
- Axis.cs
- Point3DIndependentAnimationStorage.cs
- DateTimeParse.cs
- StyleCollection.cs
- ContainerParaClient.cs
- ManagementBaseObject.cs
- InvalidDataContractException.cs
- Translator.cs
- WindowsToolbarItemAsMenuItem.cs
- Vector3DKeyFrameCollection.cs
- SmiMetaDataProperty.cs
- DataGridRowDetailsEventArgs.cs
- ExtensibleClassFactory.cs
- EmbossBitmapEffect.cs
- AsyncOperationLifetimeManager.cs
- TabItemAutomationPeer.cs
- RuleSettings.cs
- DummyDataSource.cs
- CodeNamespaceCollection.cs
- RefreshPropertiesAttribute.cs
- VisualTarget.cs
- ZipArchive.cs
- DesignerAttribute.cs