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
- DesignerToolboxInfo.cs
- SafeCryptoHandles.cs
- HwndSource.cs
- CqlQuery.cs
- AnimationTimeline.cs
- InfoCardSymmetricCrypto.cs
- AutoGeneratedField.cs
- BitmapEffectvisualstate.cs
- ParameterElementCollection.cs
- SqlBinder.cs
- CacheSection.cs
- Separator.cs
- X509Certificate2.cs
- TableRowGroup.cs
- TypeBinaryExpression.cs
- Hashtable.cs
- ManualWorkflowSchedulerService.cs
- HwndSourceKeyboardInputSite.cs
- TypeInfo.cs
- WebRequestModuleElement.cs
- ValidationError.cs
- SimpleType.cs
- GeneralTransform3D.cs
- InvokeSchedule.cs
- HtmlElement.cs
- RawStylusSystemGestureInputReport.cs
- InvalidCastException.cs
- HitTestDrawingContextWalker.cs
- FatalException.cs
- CreateParams.cs
- RemotingConfiguration.cs
- MeasurementDCInfo.cs
- LinkButton.cs
- OracleLob.cs
- FieldTemplateFactory.cs
- HandledEventArgs.cs
- TreeViewCancelEvent.cs
- DrawingVisualDrawingContext.cs
- QueryStringParameter.cs
- TraceListeners.cs
- FixedDocumentSequencePaginator.cs
- SymbolEqualComparer.cs
- Point.cs
- DesignerCategoryAttribute.cs
- StringWriter.cs
- ServerValidateEventArgs.cs
- XPathCompileException.cs
- ArithmeticLiteral.cs
- AdvancedBindingPropertyDescriptor.cs
- SignatureHelper.cs
- GrammarBuilderDictation.cs
- ForeignKeyConstraint.cs
- DataGridCommandEventArgs.cs
- GregorianCalendarHelper.cs
- SchemaEntity.cs
- recordstate.cs
- MergeFailedEvent.cs
- DataGridViewEditingControlShowingEventArgs.cs
- HttpModuleActionCollection.cs
- FixedFindEngine.cs
- ColorConverter.cs
- ControlCachePolicy.cs
- Trace.cs
- DocumentPageView.cs
- PropertyPathWorker.cs
- MessageSecurityVersion.cs
- XPathNode.cs
- BoolExpression.cs
- ListDictionaryInternal.cs
- FixedDSBuilder.cs
- lengthconverter.cs
- JoinCqlBlock.cs
- DataControlCommands.cs
- StandardToolWindows.cs
- StateInitializationDesigner.cs
- WorkflowInvoker.cs
- ComplusEndpointConfigContainer.cs
- JsonEnumDataContract.cs
- SiteMapNodeCollection.cs
- XmlSchemaAttribute.cs
- RegistrationServices.cs
- PrintDialogException.cs
- DbModificationCommandTree.cs
- Positioning.cs
- JobDuplex.cs
- PageEventArgs.cs
- AssemblyUtil.cs
- CultureInfoConverter.cs
- GradientStop.cs
- Button.cs
- DataGridItem.cs
- ItemsControlAutomationPeer.cs
- DispatcherSynchronizationContext.cs
- TextFindEngine.cs
- CollectionViewGroup.cs
- GetWorkflowTree.cs
- ReachDocumentPageSerializerAsync.cs
- ListMarkerSourceInfo.cs
- SafeNativeMethods.cs
- DiscoveryClientBindingElement.cs