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
- DbException.cs
- securitymgrsite.cs
- XmlSerializationWriter.cs
- GradientSpreadMethodValidation.cs
- SqlCacheDependencyDatabaseCollection.cs
- NetDispatcherFaultException.cs
- InstancePersistenceCommandException.cs
- FormViewCommandEventArgs.cs
- safelink.cs
- Blend.cs
- MD5.cs
- XmlILStorageConverter.cs
- QueryContinueDragEventArgs.cs
- SecurityTokenAttachmentMode.cs
- Event.cs
- Rotation3DKeyFrameCollection.cs
- Accessible.cs
- BamlStream.cs
- Pair.cs
- ReplyChannel.cs
- PerspectiveCamera.cs
- WrapPanel.cs
- SocketInformation.cs
- NavigationProperty.cs
- Attributes.cs
- HttpValueCollection.cs
- SqlWriter.cs
- DrawingServices.cs
- CollectionBase.cs
- TCPListener.cs
- HashStream.cs
- PluralizationServiceUtil.cs
- Msec.cs
- FlatButtonAppearance.cs
- GetUserPreferenceRequest.cs
- StateFinalizationDesigner.cs
- OdbcConnectionString.cs
- StateMachine.cs
- XmlMessageFormatter.cs
- TdsParserSafeHandles.cs
- TextBoxAutomationPeer.cs
- AsyncPostBackTrigger.cs
- HtmlObjectListAdapter.cs
- ZipIOFileItemStream.cs
- HiddenField.cs
- HeaderPanel.cs
- PolyBezierSegment.cs
- DefaultTextStoreTextComposition.cs
- DoubleKeyFrameCollection.cs
- DocumentViewerHelper.cs
- Filter.cs
- nulltextcontainer.cs
- ClientUtils.cs
- HttpContextWrapper.cs
- EventNotify.cs
- SystemNetHelpers.cs
- StringValueSerializer.cs
- mansign.cs
- GridItemPatternIdentifiers.cs
- PageCatalogPart.cs
- ResourceBinder.cs
- PassportIdentity.cs
- CanExecuteRoutedEventArgs.cs
- MenuAutomationPeer.cs
- SafeSecurityHandles.cs
- IPAddressCollection.cs
- XomlCompilerError.cs
- OdbcUtils.cs
- HttpErrorTraceRecord.cs
- ListDictionaryInternal.cs
- TableDetailsRow.cs
- AutomationPropertyInfo.cs
- DataErrorValidationRule.cs
- MatrixTransform3D.cs
- MouseGestureValueSerializer.cs
- RequestCacheManager.cs
- ObjectAnimationBase.cs
- XmlDataSource.cs
- Int32KeyFrameCollection.cs
- RawKeyboardInputReport.cs
- WindowPattern.cs
- VariableAction.cs
- ResolveNameEventArgs.cs
- MexHttpBindingCollectionElement.cs
- TextEvent.cs
- BrowserCapabilitiesFactory35.cs
- OutputScopeManager.cs
- EventLogPermissionAttribute.cs
- DrawListViewSubItemEventArgs.cs
- ControlTemplate.cs
- DataTableMapping.cs
- SqlNodeTypeOperators.cs
- BitmapMetadataEnumerator.cs
- _ChunkParse.cs
- NativeMethodsOther.cs
- GradientSpreadMethodValidation.cs
- ComponentFactoryHelpers.cs
- DataGridColumn.cs
- SeverityFilter.cs
- FixedSOMTableRow.cs