Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / Configuration / SiteMapSection.cs / 3 / 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 } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ // // 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 } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlNamespaceManager.cs
- CustomTypeDescriptor.cs
- Soap11ServerProtocol.cs
- HtmlTable.cs
- DataGridViewSelectedRowCollection.cs
- SQLDateTime.cs
- UnauthorizedWebPart.cs
- VolatileEnlistmentMultiplexing.cs
- PropertyManager.cs
- SettingsPropertyCollection.cs
- HttpWriter.cs
- ApplicationException.cs
- DoubleKeyFrameCollection.cs
- BrowserCapabilitiesFactoryBase.cs
- TextElementEditingBehaviorAttribute.cs
- XamlDesignerSerializationManager.cs
- XPathConvert.cs
- CodePageEncoding.cs
- DataObjectFieldAttribute.cs
- ProxyWebPartConnectionCollection.cs
- UnionCodeGroup.cs
- ConnectorRouter.cs
- TextTreeNode.cs
- DocumentGrid.cs
- PageParserFilter.cs
- ObjectComplexPropertyMapping.cs
- FileSystemInfo.cs
- ImageSourceValueSerializer.cs
- Label.cs
- SBCSCodePageEncoding.cs
- ResourceAttributes.cs
- CodeIterationStatement.cs
- SimpleFieldTemplateFactory.cs
- DbProviderFactory.cs
- SecurityHelper.cs
- ButtonBaseDesigner.cs
- _ConnectOverlappedAsyncResult.cs
- PermissionAttributes.cs
- AssemblyEvidenceFactory.cs
- CapabilitiesPattern.cs
- DataServiceProviderMethods.cs
- CalendarDay.cs
- IISMapPath.cs
- ConnectionStringEditor.cs
- SemaphoreSecurity.cs
- odbcmetadatafactory.cs
- NamedPipeAppDomainProtocolHandler.cs
- Decoder.cs
- StringUtil.cs
- ControlCachePolicy.cs
- FontConverter.cs
- BehaviorEditorPart.cs
- TextPointer.cs
- FontCollection.cs
- XmlSchemaCompilationSettings.cs
- ReadingWritingEntityEventArgs.cs
- WebPartMinimizeVerb.cs
- ProtocolElementCollection.cs
- ProfileProvider.cs
- DataSourceCache.cs
- TextMarkerSource.cs
- ChangeDirector.cs
- StretchValidation.cs
- RectIndependentAnimationStorage.cs
- NonceToken.cs
- Configuration.cs
- _LocalDataStore.cs
- BamlRecords.cs
- GregorianCalendarHelper.cs
- ConfigurationSection.cs
- ExtentCqlBlock.cs
- GetPageNumberCompletedEventArgs.cs
- AspProxy.cs
- InheritanceContextChangedEventManager.cs
- RectAnimationBase.cs
- WasAdminWrapper.cs
- METAHEADER.cs
- HoistedLocals.cs
- NextPreviousPagerField.cs
- RegexRunner.cs
- XmlStringTable.cs
- UIElementIsland.cs
- PointAnimationUsingPath.cs
- MenuCommands.cs
- LoginUtil.cs
- Timer.cs
- securitycriticaldataClass.cs
- CodeGeneratorOptions.cs
- EncoderReplacementFallback.cs
- CatalogPart.cs
- BufferedWebEventProvider.cs
- PathStreamGeometryContext.cs
- CharEnumerator.cs
- AppDomainFactory.cs
- TraceHelpers.cs
- CodeDirectiveCollection.cs
- MessageAction.cs
- SocketPermission.cs
- Win32Native.cs
- AnimatedTypeHelpers.cs