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
- WebPartEditVerb.cs
- TextOutput.cs
- SqlCommandBuilder.cs
- BaseInfoTable.cs
- DataGridViewColumnCollectionDialog.cs
- InfoCardXmlSerializer.cs
- ColorBuilder.cs
- EntityDataSourceValidationException.cs
- NamespaceCollection.cs
- EditorZone.cs
- ResourceAssociationType.cs
- ProxyGenerationError.cs
- StorageBasedPackageProperties.cs
- HierarchicalDataBoundControl.cs
- WindowsIPAddress.cs
- AutomationAttributeInfo.cs
- Pts.cs
- DefaultValueConverter.cs
- XPathNodeIterator.cs
- PTUtility.cs
- TableParaClient.cs
- PointLightBase.cs
- FormClosedEvent.cs
- ListSortDescriptionCollection.cs
- KeyFrames.cs
- TreeViewAutomationPeer.cs
- DrawingGroup.cs
- PropertySegmentSerializer.cs
- wgx_render.cs
- RuntimeConfig.cs
- BuildProvider.cs
- Wildcard.cs
- DomNameTable.cs
- LinkButton.cs
- CombinedGeometry.cs
- KeyBinding.cs
- ProjectionCamera.cs
- CngUIPolicy.cs
- WebPartEventArgs.cs
- UnicodeEncoding.cs
- TraceLog.cs
- MetabaseReader.cs
- DBDataPermission.cs
- ParentQuery.cs
- ToolStripSettings.cs
- ControlPropertyNameConverter.cs
- PageContentCollection.cs
- CodeDOMUtility.cs
- XmlSchemaSequence.cs
- FixedNode.cs
- DirectoryInfo.cs
- DefaultBinder.cs
- CodeDirectiveCollection.cs
- Button.cs
- PreviewControlDesigner.cs
- FormsAuthenticationUser.cs
- DataFormats.cs
- UnsafeNativeMethods.cs
- SchemaImporter.cs
- ItemList.cs
- XmlUtil.cs
- AttachedAnnotation.cs
- SQLDouble.cs
- ValueChangedEventManager.cs
- UpdateTracker.cs
- LinqDataSourceContextData.cs
- SelectedPathEditor.cs
- SQLMoneyStorage.cs
- MediaContext.cs
- XPathNodeList.cs
- QueryExtender.cs
- CollectionContainer.cs
- AttributeAction.cs
- SqlMetaData.cs
- ChannelParameterCollection.cs
- FrugalMap.cs
- StringStorage.cs
- DataKey.cs
- ByteStack.cs
- StaticContext.cs
- DetailsViewUpdateEventArgs.cs
- ObjRef.cs
- DefaultBindingPropertyAttribute.cs
- XmlEntity.cs
- TaiwanCalendar.cs
- WebExceptionStatus.cs
- ParamArrayAttribute.cs
- TraceLog.cs
- EditingCoordinator.cs
- XmlSchemaInclude.cs
- Matrix3DConverter.cs
- WizardSideBarListControlItemEventArgs.cs
- PersonalizationAdministration.cs
- SessionParameter.cs
- XPathBinder.cs
- Cursors.cs
- odbcmetadatacollectionnames.cs
- GenericQueueSurrogate.cs
- AssemblyInfo.cs
- OdbcCommand.cs