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
- SqlInfoMessageEvent.cs
- SymmetricAlgorithm.cs
- namescope.cs
- DataGridViewComboBoxColumn.cs
- PropertyChangedEventManager.cs
- WebDisplayNameAttribute.cs
- XmlFormatExtensionPointAttribute.cs
- StringStorage.cs
- WebServiceTypeData.cs
- UICuesEvent.cs
- CloseCollectionAsyncResult.cs
- DictionaryBase.cs
- templategroup.cs
- TdsParserSessionPool.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- ConditionalWeakTable.cs
- XNodeValidator.cs
- ConvertEvent.cs
- PageThemeBuildProvider.cs
- SystemIPGlobalStatistics.cs
- DataListDesigner.cs
- MasterPage.cs
- RelationshipConverter.cs
- RoutingExtensionElement.cs
- _NtlmClient.cs
- OletxResourceManager.cs
- OutputCacheSettings.cs
- ApplicationActivator.cs
- FaultReasonText.cs
- FileCodeGroup.cs
- FastEncoderWindow.cs
- BindingExpressionUncommonField.cs
- TextRange.cs
- DeflateEmulationStream.cs
- DefaultEvaluationContext.cs
- WebConfigurationHost.cs
- TiffBitmapDecoder.cs
- TextFormatterHost.cs
- TrustSection.cs
- PerspectiveCamera.cs
- FormViewUpdatedEventArgs.cs
- DisplayInformation.cs
- odbcmetadatacolumnnames.cs
- SmiEventSink_DeferedProcessing.cs
- RegexGroupCollection.cs
- BitmapSourceSafeMILHandle.cs
- RepeatBehaviorConverter.cs
- StylusPointPropertyId.cs
- UrlMappingsModule.cs
- PropertyMetadata.cs
- X509Utils.cs
- HMACMD5.cs
- WebPartConnectionsDisconnectVerb.cs
- JoinGraph.cs
- SiblingIterators.cs
- FigureParagraph.cs
- PropertyKey.cs
- PersonalizationProvider.cs
- GeometryHitTestResult.cs
- HGlobalSafeHandle.cs
- OutOfMemoryException.cs
- ManagedIStream.cs
- GridPatternIdentifiers.cs
- webeventbuffer.cs
- SoapException.cs
- Point.cs
- SecurityUtils.cs
- BaseComponentEditor.cs
- CompensationDesigner.cs
- TemplateModeChangedEventArgs.cs
- ObjectStorage.cs
- XmlToDatasetMap.cs
- TypeConverterHelper.cs
- XamlSerializer.cs
- ConstraintManager.cs
- WinInetCache.cs
- StreamGeometryContext.cs
- BuiltInExpr.cs
- ComponentResourceKeyConverter.cs
- FileDataSourceCache.cs
- HatchBrush.cs
- Track.cs
- ContextMarshalException.cs
- SrgsElementList.cs
- TabControl.cs
- DocumentPageView.cs
- ProcessHostServerConfig.cs
- ItemDragEvent.cs
- QilReference.cs
- PropertyMap.cs
- ControlEvent.cs
- XPathConvert.cs
- InkCanvasAutomationPeer.cs
- ProofTokenCryptoHandle.cs
- RequestCache.cs
- SqlClientFactory.cs
- TextFindEngine.cs
- ResXResourceSet.cs
- ColorComboBox.cs
- PackageDigitalSignatureManager.cs