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
- BitmapFrameEncode.cs
- Translator.cs
- RegistrySecurity.cs
- ContentTypeSettingDispatchMessageFormatter.cs
- HostExecutionContextManager.cs
- SecurityKeyType.cs
- FixUpCollection.cs
- ComboBox.cs
- RightsManagementInformation.cs
- RadioButtonPopupAdapter.cs
- InternalsVisibleToAttribute.cs
- DesignerInterfaces.cs
- SafeNativeMethods.cs
- GridViewPageEventArgs.cs
- SettingsAttributes.cs
- XmlNotation.cs
- Error.cs
- RequiredAttributeAttribute.cs
- PresentationAppDomainManager.cs
- DBSqlParserColumnCollection.cs
- CreateUserWizard.cs
- FileNameEditor.cs
- HttpHeaderCollection.cs
- ConfigUtil.cs
- NumberFormatInfo.cs
- StandardOleMarshalObject.cs
- InvokeWebServiceDesigner.cs
- KeyNotFoundException.cs
- TreeView.cs
- ClientSection.cs
- WebResourceAttribute.cs
- LinkButton.cs
- CodeNamespaceImportCollection.cs
- NameValueFileSectionHandler.cs
- RTLAwareMessageBox.cs
- CacheChildrenQuery.cs
- SpotLight.cs
- WebPartDescription.cs
- SecureUICommand.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- XPathNavigatorKeyComparer.cs
- WizardStepBase.cs
- DataControlPagerLinkButton.cs
- InterleavedZipPartStream.cs
- MarkupCompilePass1.cs
- PolicyImporterElementCollection.cs
- TextWriter.cs
- RepeaterItemCollection.cs
- StylusLogic.cs
- ImageSourceTypeConverter.cs
- XmlSchemaSimpleTypeUnion.cs
- QueryActivatableWorkflowsCommand.cs
- WsatServiceCertificate.cs
- MetaTable.cs
- StorageAssociationSetMapping.cs
- EastAsianLunisolarCalendar.cs
- AnimatedTypeHelpers.cs
- BulletDecorator.cs
- RegionData.cs
- StateManagedCollection.cs
- PointCollection.cs
- KeyValueConfigurationCollection.cs
- ReadOnlyDataSourceView.cs
- DisposableCollectionWrapper.cs
- ExpressionWriter.cs
- ViewStateModeByIdAttribute.cs
- FontStyles.cs
- XmlEntityReference.cs
- DetailsViewModeEventArgs.cs
- EnvironmentPermission.cs
- future.cs
- ConnectionStringSettings.cs
- ResourceProviderFactory.cs
- HttpCapabilitiesBase.cs
- SQLInt16.cs
- DbFunctionCommandTree.cs
- FormParameter.cs
- AdapterDictionary.cs
- PlaceHolder.cs
- ExtensionWindowResizeGrip.cs
- PresentationTraceSources.cs
- Stopwatch.cs
- RecommendedAsConfigurableAttribute.cs
- TextFormatterContext.cs
- DSGeneratorProblem.cs
- CompiledQuery.cs
- HashAlgorithm.cs
- SymLanguageType.cs
- CodeSubDirectory.cs
- CompilerState.cs
- SmiContext.cs
- StrokeCollectionDefaultValueFactory.cs
- XmlUtf8RawTextWriter.cs
- CompareValidator.cs
- TextEffectResolver.cs
- IgnoreFileBuildProvider.cs
- DesignerEditorPartChrome.cs
- CodeMemberProperty.cs
- PointLight.cs
- CombinedGeometry.cs