Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / Configuration / SiteMapSection.cs / 5 / 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. // //----------------------------------------------------------------------------- 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MessageEventSubscriptionService.cs
- DSGeneratorProblem.cs
- ScrollableControlDesigner.cs
- ColorKeyFrameCollection.cs
- WebServiceFault.cs
- RuntimeResourceSet.cs
- MdiWindowListStrip.cs
- SqlRetyper.cs
- MenuBindingsEditor.cs
- DependencyProperty.cs
- Thread.cs
- FileStream.cs
- SymLanguageType.cs
- HttpCacheVaryByContentEncodings.cs
- LocatorPart.cs
- CodeAttachEventStatement.cs
- TransactionException.cs
- TranslateTransform3D.cs
- CategoryValueConverter.cs
- XmlIlVisitor.cs
- DesignerObjectListAdapter.cs
- DelayedRegex.cs
- ActivationService.cs
- BitFlagsGenerator.cs
- ProxyGenerationError.cs
- AspNetCacheProfileAttribute.cs
- SiteMapSection.cs
- QuadraticBezierSegment.cs
- XPathScanner.cs
- DynamicValidator.cs
- DbInsertCommandTree.cs
- PenLineCapValidation.cs
- IHttpResponseInternal.cs
- Style.cs
- ProcessHostMapPath.cs
- TripleDES.cs
- CompositeScriptReference.cs
- FileLogRecord.cs
- TextRangeEditLists.cs
- XmlSerializerVersionAttribute.cs
- SoapEnumAttribute.cs
- Metafile.cs
- IIS7UserPrincipal.cs
- ColumnResult.cs
- ReadOnlyDictionary.cs
- DirtyTextRange.cs
- InkCanvasSelectionAdorner.cs
- TextEditorCharacters.cs
- Brush.cs
- StringBuilder.cs
- TreeView.cs
- ImageMetadata.cs
- DateTimeOffsetAdapter.cs
- TextBoxDesigner.cs
- PresentationSource.cs
- DocumentReference.cs
- ProxyWebPartConnectionCollection.cs
- SafeHandle.cs
- LambdaCompiler.Unary.cs
- BinaryNegotiation.cs
- CompilerError.cs
- CriticalFinalizerObject.cs
- RealizedColumnsBlock.cs
- DependencyObjectProvider.cs
- TextUtf8RawTextWriter.cs
- StickyNote.cs
- M3DUtil.cs
- Policy.cs
- TCPListener.cs
- DataGridViewColumnConverter.cs
- SizeLimitedCache.cs
- PreloadedPackages.cs
- CompModSwitches.cs
- Decoder.cs
- SizeF.cs
- ScriptMethodAttribute.cs
- PersonalizationProviderCollection.cs
- EmptyEnumerator.cs
- BinaryFormatter.cs
- WebPartConnectionsCancelVerb.cs
- ObjectListGeneralPage.cs
- CodeDelegateCreateExpression.cs
- SQLByte.cs
- Size.cs
- CodeDomSerializationProvider.cs
- CaseExpr.cs
- MenuItemBindingCollection.cs
- Source.cs
- Floater.cs
- ColorTranslator.cs
- InitialServerConnectionReader.cs
- InheritanceAttribute.cs
- NetworkCredential.cs
- DataFormat.cs
- SqlPersonalizationProvider.cs
- WebResponse.cs
- MessageSecurityException.cs
- WriteTimeStream.cs
- ThreadPoolTaskScheduler.cs
- NegationPusher.cs