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
- ByeOperation11AsyncResult.cs
- TextReader.cs
- ToolStripRenderer.cs
- WindowsButton.cs
- Emitter.cs
- TaskFormBase.cs
- ScriptingRoleServiceSection.cs
- BounceEase.cs
- WeakRefEnumerator.cs
- MouseEvent.cs
- CipherData.cs
- Configuration.cs
- Authorization.cs
- OdbcParameter.cs
- AnnotationResourceChangedEventArgs.cs
- PageContentAsyncResult.cs
- DbMetaDataFactory.cs
- BuildProvidersCompiler.cs
- HwndProxyElementProvider.cs
- DataGridViewAdvancedBorderStyle.cs
- ServiceObjectContainer.cs
- SpellerStatusTable.cs
- QueryExtender.cs
- ClockGroup.cs
- RegisteredArrayDeclaration.cs
- ObjectIDGenerator.cs
- DiagnosticsConfiguration.cs
- BuilderInfo.cs
- GridViewColumnCollectionChangedEventArgs.cs
- ToolStripItemClickedEventArgs.cs
- CodeTypeDeclarationCollection.cs
- XmlSchemaAnnotated.cs
- LinqMaximalSubtreeNominator.cs
- GreaterThan.cs
- MethodToken.cs
- PackWebRequestFactory.cs
- TrackingStringDictionary.cs
- webproxy.cs
- WebBrowserContainer.cs
- SmiTypedGetterSetter.cs
- RelationshipConstraintValidator.cs
- DropSource.cs
- DataColumnMapping.cs
- TypeLoadException.cs
- ApplicationFileParser.cs
- MessagingActivityHelper.cs
- InstallerTypeAttribute.cs
- WorkflowInstanceExtensionManager.cs
- TextEndOfSegment.cs
- SqlDataSourceFilteringEventArgs.cs
- ExpressionWriter.cs
- PseudoWebRequest.cs
- IntellisenseTextBox.cs
- Parameter.cs
- SqlException.cs
- MobileUserControl.cs
- DesignBinding.cs
- TransferRequestHandler.cs
- PipelineModuleStepContainer.cs
- MenuCommands.cs
- ButtonField.cs
- SamlSecurityTokenAuthenticator.cs
- NumberFormatter.cs
- FillRuleValidation.cs
- FormatException.cs
- WebCategoryAttribute.cs
- TreeNodeStyle.cs
- ButtonChrome.cs
- AuthorizationPolicyTypeElement.cs
- ClientUtils.cs
- DesignerCommandSet.cs
- LocalizationParserHooks.cs
- ReliableReplySessionChannel.cs
- SafeCryptoHandles.cs
- LayoutInformation.cs
- XmlElementAttribute.cs
- DataGridColumnCollection.cs
- XamlInt32CollectionSerializer.cs
- LinqDataSourceValidationException.cs
- Label.cs
- Converter.cs
- ActivationServices.cs
- XMLDiffLoader.cs
- Literal.cs
- HostProtectionException.cs
- TextRenderer.cs
- CodeExporter.cs
- SafeHandle.cs
- SessionEndingCancelEventArgs.cs
- FontStyleConverter.cs
- PerspectiveCamera.cs
- HttpContext.cs
- dtdvalidator.cs
- EnumerationRangeValidationUtil.cs
- AppearanceEditorPart.cs
- ExpressionBindings.cs
- HttpRequest.cs
- Collection.cs
- DbMetaDataColumnNames.cs
- FixedPosition.cs