Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / Configuration / SiteMapSection.cs / 1 / 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
- FormatControl.cs
- UnsafeCollabNativeMethods.cs
- ColumnReorderedEventArgs.cs
- ChannelSinkStacks.cs
- IteratorDescriptor.cs
- SqlTypesSchemaImporter.cs
- Brushes.cs
- ProcessHostMapPath.cs
- SqlDataSourceStatusEventArgs.cs
- ExceptionHandler.cs
- ZipIOExtraField.cs
- ImageMapEventArgs.cs
- Soap12FormatExtensions.cs
- PublisherMembershipCondition.cs
- Effect.cs
- DefaultExpression.cs
- MouseEvent.cs
- TimeSpanValidator.cs
- CommonObjectSecurity.cs
- MissingFieldException.cs
- GridEntryCollection.cs
- SqlEnums.cs
- MaterializeFromAtom.cs
- Vector3DKeyFrameCollection.cs
- InvokeWebService.cs
- GenericXmlSecurityToken.cs
- RequiredFieldValidator.cs
- CorePropertiesFilter.cs
- EventSinkHelperWriter.cs
- WaitingCursor.cs
- ClientTargetSection.cs
- ColorDialog.cs
- HttpModuleAction.cs
- UIElementCollection.cs
- WebPartConnectionsCancelVerb.cs
- PrePrepareMethodAttribute.cs
- PasswordBoxAutomationPeer.cs
- IdentityValidationException.cs
- ManagementQuery.cs
- DiscoveryEndpointValidator.cs
- Funcletizer.cs
- HMACSHA256.cs
- PolyQuadraticBezierSegment.cs
- StsCommunicationException.cs
- MsmqIntegrationOutputChannel.cs
- MetabaseServerConfig.cs
- ImageAnimator.cs
- SchemaType.cs
- FieldAccessException.cs
- OracleRowUpdatedEventArgs.cs
- XPathNodeInfoAtom.cs
- ScrollChrome.cs
- PackageDigitalSignature.cs
- DigitalSignature.cs
- LocalClientSecuritySettings.cs
- XmlDictionaryString.cs
- SynchronousReceiveElement.cs
- CollectionBuilder.cs
- ContainerVisual.cs
- XmlSchemaComplexContent.cs
- PackagePart.cs
- SchemaCollectionCompiler.cs
- RoutedUICommand.cs
- TdsValueSetter.cs
- SecurityPermission.cs
- ParserHooks.cs
- Attributes.cs
- MessageBox.cs
- TextControlDesigner.cs
- SemaphoreFullException.cs
- Component.cs
- AutomationElementIdentifiers.cs
- sqlinternaltransaction.cs
- Metadata.cs
- Viewport2DVisual3D.cs
- SystemIcmpV4Statistics.cs
- DetailsViewInsertedEventArgs.cs
- EdmRelationshipRoleAttribute.cs
- ViewGenResults.cs
- BaseDataListDesigner.cs
- XmlSchemaGroup.cs
- GetPageCompletedEventArgs.cs
- QilReplaceVisitor.cs
- SqlUtils.cs
- StatusBarPanelClickEvent.cs
- ProxyWebPartManagerDesigner.cs
- DLinqAssociationProvider.cs
- mediaeventargs.cs
- PathStreamGeometryContext.cs
- HttpCookieCollection.cs
- TreeViewItemAutomationPeer.cs
- Frame.cs
- safelinkcollection.cs
- SmiTypedGetterSetter.cs
- CrossAppDomainChannel.cs
- PrintDialogException.cs
- NetworkCredential.cs
- Line.cs
- TCEAdapterGenerator.cs
- TimelineGroup.cs