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
- _TimerThread.cs
- ObjectDataSourceSelectingEventArgs.cs
- NameValueFileSectionHandler.cs
- TreeNodeBinding.cs
- SqlExpander.cs
- _LoggingObject.cs
- MeasureItemEvent.cs
- __Filters.cs
- ItemCollection.cs
- HttpResponseHeader.cs
- XmlSchemaSimpleContentRestriction.cs
- nulltextcontainer.cs
- CryptoHandle.cs
- AttachedPropertyMethodSelector.cs
- SmtpTransport.cs
- WebPartTransformerAttribute.cs
- BaseDataList.cs
- OdbcParameter.cs
- BackStopAuthenticationModule.cs
- ModulesEntry.cs
- StructuredTypeEmitter.cs
- TemplateApplicationHelper.cs
- PersonalizationProviderHelper.cs
- LoadedEvent.cs
- MasterPageBuildProvider.cs
- EmbeddedMailObject.cs
- Stroke.cs
- NativeMethods.cs
- DragDrop.cs
- MimeXmlImporter.cs
- UnknownBitmapEncoder.cs
- MailBnfHelper.cs
- ResetableIterator.cs
- HtmlForm.cs
- _Rfc2616CacheValidators.cs
- SelectionListDesigner.cs
- ServiceBuildProvider.cs
- ContextQuery.cs
- SimplePropertyEntry.cs
- NamedPipeHostedTransportConfiguration.cs
- PtsHost.cs
- OrderingInfo.cs
- CustomPopupPlacement.cs
- IImplicitResourceProvider.cs
- Misc.cs
- D3DImage.cs
- AppSettingsExpressionEditor.cs
- XmlMapping.cs
- SystemIcmpV6Statistics.cs
- DataBoundControlHelper.cs
- _Rfc2616CacheValidators.cs
- TraceLevelStore.cs
- EmissiveMaterial.cs
- AnimationStorage.cs
- XmlCDATASection.cs
- DataGridPreparingCellForEditEventArgs.cs
- Int32KeyFrameCollection.cs
- FormatterServices.cs
- ReadOnlyDictionary.cs
- Point4D.cs
- SqlUtil.cs
- COM2IProvidePropertyBuilderHandler.cs
- XmlBinaryReaderSession.cs
- NamespaceList.cs
- DataGridViewEditingControlShowingEventArgs.cs
- NamespaceCollection.cs
- WebConfigurationHost.cs
- TouchDevice.cs
- GraphicsContext.cs
- ContentFilePart.cs
- HttpCapabilitiesBase.cs
- MsmqTransportElement.cs
- Gdiplus.cs
- SqlConnectionManager.cs
- MimeMultiPart.cs
- TemplatedControlDesigner.cs
- IndentTextWriter.cs
- DbConnectionPoolGroupProviderInfo.cs
- ConfigXmlWhitespace.cs
- RuleCache.cs
- PropertyPath.cs
- ListViewAutomationPeer.cs
- GenericPrincipal.cs
- CheckBox.cs
- SaveRecipientRequest.cs
- CodeIdentifiers.cs
- SafeFileMappingHandle.cs
- CreateUserErrorEventArgs.cs
- NotifyParentPropertyAttribute.cs
- WindowExtensionMethods.cs
- GenericTypeParameterBuilder.cs
- ErrorHandlerModule.cs
- RegionInfo.cs
- DataKey.cs
- ScrollItemPatternIdentifiers.cs
- StylusCaptureWithinProperty.cs
- FileBasedResourceGroveler.cs
- TokenBasedSetEnumerator.cs
- DefaultPrintController.cs
- DefaultBinder.cs