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
- XPathEmptyIterator.cs
- EdmConstants.cs
- DataSourceXmlTextReader.cs
- XmlWellformedWriter.cs
- Rfc2898DeriveBytes.cs
- CompleteWizardStep.cs
- CompoundFileReference.cs
- DbConnectionPoolOptions.cs
- RadioButtonFlatAdapter.cs
- FilterElement.cs
- AttributeSetAction.cs
- ObjectQueryProvider.cs
- ContentControl.cs
- LinearQuaternionKeyFrame.cs
- BaseTemplateBuildProvider.cs
- OnOperation.cs
- APCustomTypeDescriptor.cs
- DispatchWrapper.cs
- AttributeEmitter.cs
- DesignerOptions.cs
- SqlEnums.cs
- MLangCodePageEncoding.cs
- DataGridRelationshipRow.cs
- EventBindingService.cs
- ScrollProviderWrapper.cs
- KeyValuePair.cs
- SystemColorTracker.cs
- FormsAuthentication.cs
- ProofTokenCryptoHandle.cs
- SortAction.cs
- StylusPlugInCollection.cs
- BooleanFunctions.cs
- CqlBlock.cs
- BezierSegment.cs
- DiscardableAttribute.cs
- FrameSecurityDescriptor.cs
- BrowserCapabilitiesFactoryBase.cs
- SessionStateSection.cs
- MoveSizeWinEventHandler.cs
- BrowserPolicyValidator.cs
- DataGridItemCollection.cs
- AmbiguousMatchException.cs
- XPathBuilder.cs
- ProviderSettingsCollection.cs
- RawKeyboardInputReport.cs
- Interlocked.cs
- IInstanceTable.cs
- HttpResponse.cs
- ExtendedPropertyCollection.cs
- FixedTextView.cs
- TemplateContentLoader.cs
- HttpCachePolicyElement.cs
- LabelInfo.cs
- PeerNameRecord.cs
- ConstructorBuilder.cs
- WorkflowDesignerColors.cs
- EventToken.cs
- WebEncodingValidator.cs
- Module.cs
- DataFormats.cs
- HTTPRemotingHandler.cs
- ComboBoxDesigner.cs
- BackgroundFormatInfo.cs
- TransformerInfo.cs
- TextBox.cs
- TableDetailsRow.cs
- Int32.cs
- FramingChannels.cs
- DesignerEditorPartChrome.cs
- TeredoHelper.cs
- SecondaryViewProvider.cs
- WindowsAuthenticationModule.cs
- ConnectionOrientedTransportElement.cs
- IfJoinedCondition.cs
- _ProxyChain.cs
- PositiveTimeSpanValidator.cs
- ValidatorCollection.cs
- Int64KeyFrameCollection.cs
- InputLanguage.cs
- ContentPresenter.cs
- CryptoApi.cs
- SerializationFieldInfo.cs
- PrincipalPermission.cs
- WebServiceHandler.cs
- RSAPKCS1SignatureDeformatter.cs
- DataBindEngine.cs
- HtmlElementEventArgs.cs
- StructuralComparisons.cs
- SQLBinaryStorage.cs
- HttpUnhandledOperationInvoker.cs
- ProofTokenCryptoHandle.cs
- ExpressionBuilder.cs
- Tokenizer.cs
- DecoratedNameAttribute.cs
- BufferedStream.cs
- Queue.cs
- FormsAuthenticationConfiguration.cs
- BitmapEffectRenderDataResource.cs
- HttpModulesSection.cs
- StaticTextPointer.cs