Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / SiteMapSection.cs / 2 / 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 }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CookieProtection.cs
- ServicesUtilities.cs
- List.cs
- SafePointer.cs
- NamedObject.cs
- ColumnResult.cs
- XmlNullResolver.cs
- IteratorFilter.cs
- FlowDocumentPaginator.cs
- DefaultValueConverter.cs
- DocumentScope.cs
- DataContractSerializerOperationBehavior.cs
- Int32Rect.cs
- TableStyle.cs
- SimpleHandlerBuildProvider.cs
- WsatConfiguration.cs
- _Events.cs
- ColorIndependentAnimationStorage.cs
- GlyphRun.cs
- CollectionBuilder.cs
- ObjectSpanRewriter.cs
- Utils.cs
- AutomationPatternInfo.cs
- ObjectQuery.cs
- TextShapeableCharacters.cs
- PtsHelper.cs
- Documentation.cs
- DataFormats.cs
- Math.cs
- ListControl.cs
- FrameworkElementFactory.cs
- RequestSecurityTokenResponse.cs
- LoadRetryStrategyFactory.cs
- XmlTypeAttribute.cs
- StaticExtension.cs
- XmlSerializer.cs
- ConstantExpression.cs
- ItemsPresenter.cs
- precedingquery.cs
- DefaultBinder.cs
- QilValidationVisitor.cs
- DockProviderWrapper.cs
- ClientScriptManager.cs
- PropertyToken.cs
- CompensatableTransactionScopeActivity.cs
- MdbDataFileEditor.cs
- SafeUserTokenHandle.cs
- WhitespaceRule.cs
- NativeMethods.cs
- OdbcConnectionOpen.cs
- SignatureTargetIdManager.cs
- AutomationPattern.cs
- WaitHandle.cs
- SortKey.cs
- GestureRecognitionResult.cs
- SqlErrorCollection.cs
- _KerberosClient.cs
- DocumentGridPage.cs
- ExceptionCollection.cs
- HWStack.cs
- VariableDesigner.xaml.cs
- Deflater.cs
- ResourcePool.cs
- MetadataSerializer.cs
- NotificationContext.cs
- UInt32Storage.cs
- XslTransform.cs
- UnknownWrapper.cs
- EdmFunctions.cs
- AnnotationStore.cs
- ButtonPopupAdapter.cs
- KnownBoxes.cs
- SiteMapNodeCollection.cs
- TreeNodeConverter.cs
- ParallelForEach.cs
- RegexEditorDialog.cs
- DesignerActionUIService.cs
- PropertyInformationCollection.cs
- ActivityInterfaces.cs
- Lease.cs
- FlowLayoutPanel.cs
- SeparatorAutomationPeer.cs
- SemaphoreFullException.cs
- BaseParaClient.cs
- UnSafeCharBuffer.cs
- ChannelSinkStacks.cs
- WebPartVerb.cs
- RectConverter.cs
- UIElement3D.cs
- EntityProxyTypeInfo.cs
- StreamSecurityUpgradeAcceptor.cs
- DependencySource.cs
- safePerfProviderHandle.cs
- coordinatorscratchpad.cs
- ProcessModuleCollection.cs
- SqlNodeTypeOperators.cs
- _Connection.cs
- Italic.cs
- CompilerParameters.cs
- TransformDescriptor.cs