Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / SiteMap.cs / 1 / SiteMap.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Copyright (c) 2002 Microsoft Corporation */ namespace System.Web { using System; using System.Collections; using System.ComponentModel; using System.Configuration.Provider; using System.Security.Permissions; using System.Web.Configuration; using System.Web.UI; using System.Web.Hosting; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public static class SiteMap { internal const string SectionName = "system.web/siteMap"; private static SiteMapProviderCollection _providers; private static SiteMapProvider _provider; private static object _lockObject = new object(); private static bool _configEnabledEvaluated; private static bool _enabled; public static SiteMapNode CurrentNode { get { return Provider.CurrentNode; } } public static bool Enabled { get { if (!_configEnabledEvaluated) { SiteMapSection config = RuntimeConfig.GetAppConfig().SiteMap; _enabled = (config != null && config.Enabled); _configEnabledEvaluated = true; } return _enabled; } } public static SiteMapProvider Provider { get { Initialize(); return _provider; } } public static SiteMapProviderCollection Providers { get { Initialize(); return _providers; } } public static SiteMapNode RootNode { get { SiteMapProvider rootProvider = Provider.RootProvider; SiteMapNode rootNode = rootProvider.RootNode; if (rootNode == null) { String name = ((ProviderBase)rootProvider).Name; throw new InvalidOperationException(SR.GetString(SR.SiteMapProvider_Invalid_RootNode, name)); } return rootNode; } } public static event SiteMapResolveEventHandler SiteMapResolve { add { Provider.SiteMapResolve += value; } remove { Provider.SiteMapResolve -= value; } } private static void Initialize() { if (_providers != null) return; HttpRuntime.CheckAspNetHostingPermission(AspNetHostingPermissionLevel.Low, SR.Feature_not_supported_at_this_level); lock (_lockObject) { if (_providers != null) return; SiteMapSection config = RuntimeConfig.GetAppConfig().SiteMap; if (config == null) { // just return an empty collection so that designer will work. _providers = new SiteMapProviderCollection(); return; } if (!config.Enabled) throw new InvalidOperationException(SR.GetString(SR.SiteMap_feature_disabled, SiteMap.SectionName)); // Make sure the default provider exists. config.ValidateDefaultProvider(); _providers = config.ProvidersInternal; _provider = _providers[config.DefaultProvider]; _providers.SetReadOnly(); } } } [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class SiteMapProviderCollection : ProviderCollection { public override void Add(ProviderBase provider) { if (provider == null) throw new ArgumentNullException("provider"); if (!(provider is SiteMapProvider)) throw new ArgumentException(SR.GetString( SR.Provider_must_implement_the_interface, provider.GetType().Name, typeof(SiteMapProvider).Name), "provider"); Add((SiteMapProvider)provider); } public void Add(SiteMapProvider provider) { if (provider == null) { throw new ArgumentNullException("provider"); } base.Add(provider); } public void AddArray(SiteMapProvider [] providerArray) { if (providerArray == null) { throw new ArgumentNullException("providerArray"); } foreach (SiteMapProvider provider in providerArray) { if (this[provider.Name] != null) throw new ArgumentException(SR.GetString(SR.SiteMapProvider_Multiple_Providers_With_Identical_Name, provider.Name)); Add(provider); } } public new SiteMapProvider this[string name] { get { return (SiteMapProvider) base[name]; } } } public delegate SiteMapNode SiteMapResolveEventHandler(Object sender, SiteMapResolveEventArgs e); [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class SiteMapResolveEventArgs : EventArgs { private HttpContext _context; private SiteMapProvider _provider; public SiteMapResolveEventArgs(HttpContext context, SiteMapProvider provider) { _context = context; _provider = provider; } public SiteMapProvider Provider { get { return _provider; } } public HttpContext Context { get { return _context; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Copyright (c) 2002 Microsoft Corporation */ namespace System.Web { using System; using System.Collections; using System.ComponentModel; using System.Configuration.Provider; using System.Security.Permissions; using System.Web.Configuration; using System.Web.UI; using System.Web.Hosting; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public static class SiteMap { internal const string SectionName = "system.web/siteMap"; private static SiteMapProviderCollection _providers; private static SiteMapProvider _provider; private static object _lockObject = new object(); private static bool _configEnabledEvaluated; private static bool _enabled; public static SiteMapNode CurrentNode { get { return Provider.CurrentNode; } } public static bool Enabled { get { if (!_configEnabledEvaluated) { SiteMapSection config = RuntimeConfig.GetAppConfig().SiteMap; _enabled = (config != null && config.Enabled); _configEnabledEvaluated = true; } return _enabled; } } public static SiteMapProvider Provider { get { Initialize(); return _provider; } } public static SiteMapProviderCollection Providers { get { Initialize(); return _providers; } } public static SiteMapNode RootNode { get { SiteMapProvider rootProvider = Provider.RootProvider; SiteMapNode rootNode = rootProvider.RootNode; if (rootNode == null) { String name = ((ProviderBase)rootProvider).Name; throw new InvalidOperationException(SR.GetString(SR.SiteMapProvider_Invalid_RootNode, name)); } return rootNode; } } public static event SiteMapResolveEventHandler SiteMapResolve { add { Provider.SiteMapResolve += value; } remove { Provider.SiteMapResolve -= value; } } private static void Initialize() { if (_providers != null) return; HttpRuntime.CheckAspNetHostingPermission(AspNetHostingPermissionLevel.Low, SR.Feature_not_supported_at_this_level); lock (_lockObject) { if (_providers != null) return; SiteMapSection config = RuntimeConfig.GetAppConfig().SiteMap; if (config == null) { // just return an empty collection so that designer will work. _providers = new SiteMapProviderCollection(); return; } if (!config.Enabled) throw new InvalidOperationException(SR.GetString(SR.SiteMap_feature_disabled, SiteMap.SectionName)); // Make sure the default provider exists. config.ValidateDefaultProvider(); _providers = config.ProvidersInternal; _provider = _providers[config.DefaultProvider]; _providers.SetReadOnly(); } } } [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class SiteMapProviderCollection : ProviderCollection { public override void Add(ProviderBase provider) { if (provider == null) throw new ArgumentNullException("provider"); if (!(provider is SiteMapProvider)) throw new ArgumentException(SR.GetString( SR.Provider_must_implement_the_interface, provider.GetType().Name, typeof(SiteMapProvider).Name), "provider"); Add((SiteMapProvider)provider); } public void Add(SiteMapProvider provider) { if (provider == null) { throw new ArgumentNullException("provider"); } base.Add(provider); } public void AddArray(SiteMapProvider [] providerArray) { if (providerArray == null) { throw new ArgumentNullException("providerArray"); } foreach (SiteMapProvider provider in providerArray) { if (this[provider.Name] != null) throw new ArgumentException(SR.GetString(SR.SiteMapProvider_Multiple_Providers_With_Identical_Name, provider.Name)); Add(provider); } } public new SiteMapProvider this[string name] { get { return (SiteMapProvider) base[name]; } } } public delegate SiteMapNode SiteMapResolveEventHandler(Object sender, SiteMapResolveEventArgs e); [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class SiteMapResolveEventArgs : EventArgs { private HttpContext _context; private SiteMapProvider _provider; public SiteMapResolveEventArgs(HttpContext context, SiteMapProvider provider) { _context = context; _provider = provider; } public SiteMapProvider Provider { get { return _provider; } } public HttpContext Context { get { return _context; } } } } // 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
- XamlStyleSerializer.cs
- returneventsaver.cs
- TextSegment.cs
- GuidTagList.cs
- ContractCodeDomInfo.cs
- DataGridView.cs
- SQLByte.cs
- OperationFormatStyle.cs
- StorageBasedPackageProperties.cs
- DecimalConverter.cs
- ExpressionEditorAttribute.cs
- ContextItemManager.cs
- ImmutableObjectAttribute.cs
- SecurityState.cs
- XPathScanner.cs
- XXXOnTypeBuilderInstantiation.cs
- HwndStylusInputProvider.cs
- Barrier.cs
- View.cs
- GeneralTransform.cs
- XmlLinkedNode.cs
- HttpProxyTransportBindingElement.cs
- TypeSystemHelpers.cs
- SiteOfOriginContainer.cs
- DispatchWrapper.cs
- RelationshipConverter.cs
- RoleManagerEventArgs.cs
- Environment.cs
- AbsoluteQuery.cs
- HtmlShimManager.cs
- Pts.cs
- CollectionTypeElement.cs
- AVElementHelper.cs
- ReceiveSecurityHeaderEntry.cs
- ForeignKeyConstraint.cs
- WebMessageBodyStyleHelper.cs
- XmlValidatingReader.cs
- PreviewKeyDownEventArgs.cs
- QuaternionKeyFrameCollection.cs
- DataView.cs
- ClientFormsAuthenticationMembershipProvider.cs
- DataSourceGroupCollection.cs
- ModuleBuilderData.cs
- RepeaterCommandEventArgs.cs
- basecomparevalidator.cs
- SizeAnimationBase.cs
- TabControlAutomationPeer.cs
- BulletedListEventArgs.cs
- BamlTreeMap.cs
- InfoCardClaim.cs
- TextViewSelectionProcessor.cs
- SourceFileInfo.cs
- HttpDictionary.cs
- FlowLayoutSettings.cs
- EventsTab.cs
- RichTextBox.cs
- OSFeature.cs
- SecurityCredentialsManager.cs
- DecimalAnimationBase.cs
- DataKey.cs
- TraceContext.cs
- DataGridItem.cs
- GestureRecognitionResult.cs
- GlyphRun.cs
- Funcletizer.cs
- AppDomainAttributes.cs
- XmlWriterSettings.cs
- ParallelDesigner.cs
- OutKeywords.cs
- _ContextAwareResult.cs
- Label.cs
- CatalogZone.cs
- ViewManager.cs
- PropertyCondition.cs
- ListViewDataItem.cs
- LookupBindingPropertiesAttribute.cs
- TypeLoadException.cs
- InternalConfigEventArgs.cs
- KoreanLunisolarCalendar.cs
- CustomErrorsSectionWrapper.cs
- TypedRowHandler.cs
- TableCellCollection.cs
- PriorityQueue.cs
- SecurityException.cs
- NavigatorOutput.cs
- HitTestWithPointDrawingContextWalker.cs
- WhileDesigner.cs
- Viewport3DVisual.cs
- ComNativeDescriptor.cs
- VisualTreeHelper.cs
- NameScopePropertyAttribute.cs
- DescriptionAttribute.cs
- EncoderFallback.cs
- CompilerResults.cs
- DbDataRecord.cs
- BoolExpr.cs
- NonBatchDirectoryCompiler.cs
- VarRemapper.cs
- SqlDataAdapter.cs
- DataServiceSaveChangesEventArgs.cs