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
- UnsafePeerToPeerMethods.cs
- ProxyGenerationError.cs
- StaticTextPointer.cs
- EncodingNLS.cs
- CollectionViewGroupInternal.cs
- _RequestLifetimeSetter.cs
- Properties.cs
- VirtualizingStackPanel.cs
- CapabilitiesUse.cs
- DeferredBinaryDeserializerExtension.cs
- LogSwitch.cs
- StorageEntityTypeMapping.cs
- XamlClipboardData.cs
- StorageTypeMapping.cs
- UIPermission.cs
- ExpressionBinding.cs
- XmlArrayItemAttribute.cs
- Control.cs
- ContextBase.cs
- ReaderContextStackData.cs
- OutOfProcStateClientManager.cs
- UInt16Converter.cs
- ProfilePropertySettings.cs
- SettingsPropertyNotFoundException.cs
- EntityCollectionChangedParams.cs
- ToggleButtonAutomationPeer.cs
- QuaternionIndependentAnimationStorage.cs
- TimeStampChecker.cs
- RankException.cs
- GetWinFXPath.cs
- AppDomainProtocolHandler.cs
- WindowsTokenRoleProvider.cs
- PolyLineSegmentFigureLogic.cs
- ProfilePropertyNameValidator.cs
- HtmlInputImage.cs
- _OSSOCK.cs
- OdbcDataAdapter.cs
- EventPrivateKey.cs
- BitmapEffectRenderDataResource.cs
- SelectionChangedEventArgs.cs
- XmlNotation.cs
- Stroke.cs
- CompositionTarget.cs
- TaiwanLunisolarCalendar.cs
- MarkupCompilePass1.cs
- wmiprovider.cs
- AvTraceFormat.cs
- PathFigure.cs
- SystemInfo.cs
- Geometry.cs
- ImageInfo.cs
- Rotation3DAnimation.cs
- ObjectContextServiceProvider.cs
- DynamicQueryableWrapper.cs
- SessionPageStatePersister.cs
- Registry.cs
- wgx_exports.cs
- RichTextBoxConstants.cs
- XamlClipboardData.cs
- SchemaManager.cs
- PolicyLevel.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- ClientBuildManagerCallback.cs
- SafeViewOfFileHandle.cs
- PhysicalOps.cs
- AssemblyAttributes.cs
- DesignerSerializationOptionsAttribute.cs
- ViewStateChangedEventArgs.cs
- IsolationInterop.cs
- LineServices.cs
- SystemInfo.cs
- ClickablePoint.cs
- RbTree.cs
- RtfControlWordInfo.cs
- WebColorConverter.cs
- VectorConverter.cs
- DesignerHierarchicalDataSourceView.cs
- RestHandlerFactory.cs
- RemotingService.cs
- SchemaAttDef.cs
- FactoryGenerator.cs
- WebControlAdapter.cs
- BrowserDefinition.cs
- WSSecurityXXX2005.cs
- ToolStripSeparatorRenderEventArgs.cs
- ArraySegment.cs
- DrawingServices.cs
- DebugTrace.cs
- DefaultTextStoreTextComposition.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- CollectionChangedEventManager.cs
- InputScope.cs
- DesignTimeParseData.cs
- TypedColumnHandler.cs
- XmlException.cs
- Encoding.cs
- StatusBarDrawItemEvent.cs
- UpdateCommand.cs
- ProgramNode.cs
- CompileLiteralTextParser.cs