Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / SiteMapSection.cs / 2 / 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; /**/ [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 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 }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LineProperties.cs
- ItemAutomationPeer.cs
- RowsCopiedEventArgs.cs
- Rect3D.cs
- CheckBox.cs
- MouseButtonEventArgs.cs
- PerfCounterSection.cs
- DataViewSettingCollection.cs
- BuildProvider.cs
- DataGridViewLinkCell.cs
- _OverlappedAsyncResult.cs
- TileModeValidation.cs
- AuthenticateEventArgs.cs
- StrokeCollection.cs
- ProviderIncompatibleException.cs
- SystemInformation.cs
- EffectiveValueEntry.cs
- DbParameterCollectionHelper.cs
- IISUnsafeMethods.cs
- OdbcFactory.cs
- FakeModelItemImpl.cs
- WebControlsSection.cs
- ColorConverter.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SoapProtocolImporter.cs
- Comparer.cs
- ParentQuery.cs
- SrgsGrammar.cs
- OutputBuffer.cs
- SqlDataSourceStatusEventArgs.cs
- BitmapSource.cs
- ByteStorage.cs
- HttpHandler.cs
- EntityViewContainer.cs
- LassoSelectionBehavior.cs
- CommunicationException.cs
- ErrorsHelper.cs
- PanelStyle.cs
- NullableLongMinMaxAggregationOperator.cs
- CalendarDay.cs
- XmlConvert.cs
- HuffModule.cs
- StringDictionary.cs
- Rectangle.cs
- ExtendedPropertyCollection.cs
- ValidatorUtils.cs
- IfAction.cs
- namescope.cs
- ZeroOpNode.cs
- ToolStripItemRenderEventArgs.cs
- NodeFunctions.cs
- TextBlock.cs
- PrintSchema.cs
- BindingManagerDataErrorEventArgs.cs
- XmlEventCache.cs
- PartialClassGenerationTaskInternal.cs
- RectValueSerializer.cs
- TCPClient.cs
- AnnotationComponentManager.cs
- ReflectPropertyDescriptor.cs
- CacheSection.cs
- SqlServices.cs
- odbcmetadatacolumnnames.cs
- SqlWebEventProvider.cs
- Version.cs
- SpnEndpointIdentity.cs
- EntityException.cs
- RegexGroup.cs
- BitmapEncoder.cs
- PropagatorResult.cs
- CTreeGenerator.cs
- SaveLedgerEntryRequest.cs
- FigureHelper.cs
- GridViewUpdatedEventArgs.cs
- ObjectAnimationUsingKeyFrames.cs
- Stream.cs
- ConfigXmlReader.cs
- EntitySet.cs
- KeySpline.cs
- RequestCachePolicyConverter.cs
- RootNamespaceAttribute.cs
- TextEndOfSegment.cs
- AspNetRouteServiceHttpHandler.cs
- FontTypeConverter.cs
- ResourceReferenceExpression.cs
- ExpressionBuilder.cs
- PrintingPermissionAttribute.cs
- Speller.cs
- InputReport.cs
- Function.cs
- SettingsSection.cs
- webeventbuffer.cs
- ToolStripGrip.cs
- WindowsTab.cs
- UIAgentAsyncBeginRequest.cs
- AttributedMetaModel.cs
- SerializationFieldInfo.cs
- WebPartZone.cs
- MULTI_QI.cs
- TreeView.cs