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
- ViewBase.cs
- Math.cs
- CodeVariableDeclarationStatement.cs
- EntitySetBase.cs
- DesignerRegionCollection.cs
- TiffBitmapEncoder.cs
- ArrayTypeMismatchException.cs
- DbProviderSpecificTypePropertyAttribute.cs
- PromptBuilder.cs
- MediaPlayer.cs
- EmptyStringExpandableObjectConverter.cs
- ToolStripMenuItem.cs
- EventHandlerService.cs
- GlyphElement.cs
- APCustomTypeDescriptor.cs
- ReceiveMessageRecord.cs
- IxmlLineInfo.cs
- SqlSupersetValidator.cs
- EmptyCollection.cs
- ConnectionPoint.cs
- InvalidPrinterException.cs
- Compiler.cs
- DataGridViewDataErrorEventArgs.cs
- SqlDataReaderSmi.cs
- ArgumentOutOfRangeException.cs
- ResourceManager.cs
- Literal.cs
- UidManager.cs
- PointLightBase.cs
- WebHttpSecurityElement.cs
- PageMediaSize.cs
- InheritedPropertyChangedEventArgs.cs
- DataObjectFieldAttribute.cs
- StatementContext.cs
- ButtonFlatAdapter.cs
- FixedSOMGroup.cs
- PathFigureCollection.cs
- SyndicationDeserializer.cs
- RSACryptoServiceProvider.cs
- ThreadStateException.cs
- HtmlImageAdapter.cs
- TypefaceCollection.cs
- QueryExpr.cs
- UserMapPath.cs
- TcpAppDomainProtocolHandler.cs
- unsafenativemethodsother.cs
- ScriptingRoleServiceSection.cs
- RuntimeConfigLKG.cs
- HtmlTableCell.cs
- CompositeControl.cs
- MenuBindingsEditorForm.cs
- GlobalItem.cs
- ToolboxItemCollection.cs
- ObjectStateFormatter.cs
- UpDownBase.cs
- CustomAttribute.cs
- XmlSchemaComplexContent.cs
- CodeSubDirectory.cs
- SystemTcpStatistics.cs
- NotImplementedException.cs
- ProxyOperationRuntime.cs
- CodeBinaryOperatorExpression.cs
- ColumnHeaderCollectionEditor.cs
- WaveHeader.cs
- SelectionService.cs
- _ListenerResponseStream.cs
- DodSequenceMerge.cs
- X509LogoTypeExtension.cs
- BindingEntityInfo.cs
- ScriptControlManager.cs
- XpsS0ValidatingLoader.cs
- StringValueConverter.cs
- Globals.cs
- Bits.cs
- ContextActivityUtils.cs
- CryptoKeySecurity.cs
- ValueOfAction.cs
- FileSystemEventArgs.cs
- AppendHelper.cs
- FrameworkElementAutomationPeer.cs
- PositiveTimeSpanValidator.cs
- WebBrowsableAttribute.cs
- MenuScrollingVisibilityConverter.cs
- HttpCacheVaryByContentEncodings.cs
- OrderToken.cs
- MostlySingletonList.cs
- EncodingDataItem.cs
- CompareValidator.cs
- SharedConnectionInfo.cs
- HttpCapabilitiesSectionHandler.cs
- DateTimeParse.cs
- ComponentEditorPage.cs
- ExtendedProtectionPolicyTypeConverter.cs
- ListViewItem.cs
- glyphs.cs
- RadioButtonList.cs
- HtmlValidationSummaryAdapter.cs
- Pkcs7Recipient.cs
- RowSpanVector.cs
- CodeObjectCreateExpression.cs