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
- InheritanceContextChangedEventManager.cs
- GroupDescription.cs
- DecoderBestFitFallback.cs
- LineInfo.cs
- CodeVariableDeclarationStatement.cs
- LowerCaseStringConverter.cs
- XmlSchemaSearchPattern.cs
- DateTimeValueSerializerContext.cs
- RawStylusInputCustomDataList.cs
- ToolStripItemEventArgs.cs
- SqlMethodTransformer.cs
- WinFormsComponentEditor.cs
- MenuAutomationPeer.cs
- FrameworkRichTextComposition.cs
- UpdateCommand.cs
- NameScopePropertyAttribute.cs
- MouseActionConverter.cs
- NetMsmqBindingElement.cs
- metadatamappinghashervisitor.cs
- RequestCachePolicyConverter.cs
- DictionaryBase.cs
- OleTxTransactionInfo.cs
- XamlFigureLengthSerializer.cs
- BuilderPropertyEntry.cs
- XpsLiterals.cs
- InheritedPropertyChangedEventArgs.cs
- DesignerHierarchicalDataSourceView.cs
- Int64Storage.cs
- LinqDataSourceContextEventArgs.cs
- SoapExtensionTypeElement.cs
- ComponentCommands.cs
- CompilerResults.cs
- HMACRIPEMD160.cs
- GeneralTransform3DGroup.cs
- DataGridViewUtilities.cs
- ButtonField.cs
- AttributeProviderAttribute.cs
- BuiltInExpr.cs
- SigningProgress.cs
- ServiceParser.cs
- UIElement3DAutomationPeer.cs
- AsyncCompletedEventArgs.cs
- PropertyMapper.cs
- TripleDES.cs
- ModifierKeysValueSerializer.cs
- RootProjectionNode.cs
- PersonalizationStateQuery.cs
- GridViewCommandEventArgs.cs
- SliderAutomationPeer.cs
- OrCondition.cs
- PagedDataSource.cs
- KeyValuePairs.cs
- TokenCreationException.cs
- ColorConvertedBitmapExtension.cs
- OleDbParameter.cs
- StoryFragments.cs
- ISFClipboardData.cs
- IndentTextWriter.cs
- HttpWriter.cs
- Graphics.cs
- ViewManager.cs
- FlowSwitchDesigner.xaml.cs
- WebBrowserHelper.cs
- activationcontext.cs
- Int64AnimationBase.cs
- CancellationState.cs
- MembershipUser.cs
- TransformBlockRequest.cs
- SecurityTokenValidationException.cs
- OrderByBuilder.cs
- MemberPathMap.cs
- BCryptSafeHandles.cs
- SqlConnectionManager.cs
- CompileXomlTask.cs
- TimeSpanValidator.cs
- LayoutSettings.cs
- DynamicUpdateCommand.cs
- TemplateControlCodeDomTreeGenerator.cs
- ExpressionBuilder.cs
- ByeMessageCD1.cs
- TextCollapsingProperties.cs
- ZipIOExtraFieldPaddingElement.cs
- Point3DCollectionConverter.cs
- WebRequestModuleElementCollection.cs
- RoleServiceManager.cs
- ModuleBuilder.cs
- String.cs
- MustUnderstandBehavior.cs
- DocumentEventArgs.cs
- MouseOverProperty.cs
- XslCompiledTransform.cs
- PanelStyle.cs
- PersonalizationDictionary.cs
- OSFeature.cs
- CharacterBuffer.cs
- diagnosticsswitches.cs
- DataGridViewHeaderCell.cs
- OrderedEnumerableRowCollection.cs
- AuthenticationModuleElement.cs
- BasePattern.cs