Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / WebConfigurationManager.cs / 2 / WebConfigurationManager.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Collections; using System.Collections.Specialized; using System.Configuration; using System.Security; using System.Security.Permissions; using System.Web.Hosting; [AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] public static class WebConfigurationManager { public static NameValueCollection AppSettings { get { return ConfigurationManager.AppSettings; } } public static ConnectionStringSettingsCollection ConnectionStrings { get { return ConfigurationManager.ConnectionStrings; } } public static object GetSection(string sectionName) { if (HttpConfigurationSystem.UseHttpConfigurationSystem) { return HttpConfigurationSystem.GetSection(sectionName); } else { return ConfigurationManager.GetSection(sectionName); } } public static object GetSection(string sectionName, string path) { if (HttpConfigurationSystem.UseHttpConfigurationSystem) { return HttpConfigurationSystem.GetSection(sectionName, path); } else { throw new InvalidOperationException(SR.GetString(SR.Config_GetSectionWithPathArgInvalid)); } } public static object GetWebApplicationSection(string sectionName) { if (HttpConfigurationSystem.UseHttpConfigurationSystem) { return HttpConfigurationSystem.GetApplicationSection(sectionName); } else { return ConfigurationManager.GetSection(sectionName); } } // // ************************************************* // ** Static Management Functions to edit config ** // ************************************************* // private static Configuration OpenWebConfigurationImpl( WebLevel webLevel, ConfigurationFileMap fileMap, string path, string site, string locationSubPath, string server, string userName, string password, IntPtr userToken) { // In the hosted case, we allow app relative (~/....). Otherwise, it must be absolute VirtualPath virtualPath; if (HostingEnvironment.IsHosted) { virtualPath = VirtualPath.CreateNonRelativeAllowNull(path); } else { virtualPath = VirtualPath.CreateAbsoluteAllowNull(path); } return WebConfigurationHost.OpenConfiguration(webLevel, fileMap, virtualPath, site, locationSubPath, server, userName, password, userToken); } // // API extra notes: // // OpenWebConfiguration(null) // - Open root web.config // // OpenWebConfiguration("/fxtest"); // - If calling from a hosted app (e.g. an ASP.NET page), it will open web.config at // virtual path "/fxtest" in the current running application (which gives the site) // - If calling from a non-hosted app (e.g. console app), it will do the same thing // except it will use the default web site. // // OpenWebConfiguration("/", "1", "fxtest") // - Open web.config at the root of site "1" and get the config that applies to location "fxtest" // // // OpenMachineConfiguration // public static Configuration OpenMachineConfiguration() { return OpenWebConfigurationImpl(WebLevel.Machine, null, null, null, null, null, null, null, IntPtr.Zero); } public static Configuration OpenMachineConfiguration(string locationSubPath) { return OpenWebConfigurationImpl(WebLevel.Machine, null, null, null, locationSubPath, null, null, null, IntPtr.Zero); } public static Configuration OpenMachineConfiguration(string locationSubPath, string server) { return OpenWebConfigurationImpl(WebLevel.Machine, null, null, null, locationSubPath, server, null, null, IntPtr.Zero); } public static Configuration OpenMachineConfiguration(string locationSubPath, string server, string userName, string password) { return OpenWebConfigurationImpl(WebLevel.Machine, null, null, null, locationSubPath, server, userName, password, IntPtr.Zero); } [SecurityPermission(SecurityAction.Demand, Unrestricted = true)] public static Configuration OpenMachineConfiguration(string locationSubPath, string server, IntPtr userToken) { return OpenWebConfigurationImpl(WebLevel.Machine, null, null, null, locationSubPath, server, null, null, userToken); } public static Configuration OpenMappedMachineConfiguration(ConfigurationFileMap fileMap) { return OpenWebConfigurationImpl(WebLevel.Machine, fileMap, null, null, null, null, null, null, IntPtr.Zero); } public static Configuration OpenMappedMachineConfiguration(ConfigurationFileMap fileMap, string locationSubPath) { return OpenWebConfigurationImpl(WebLevel.Machine, fileMap, null, null, locationSubPath, null, null, null, IntPtr.Zero); } // // OpenWebConfiguration // public static Configuration OpenWebConfiguration(string path) { return OpenWebConfigurationImpl(WebLevel.Path, null, path, null, null, null, null, null, IntPtr.Zero); } public static Configuration OpenWebConfiguration(string path, string site) { return OpenWebConfigurationImpl(WebLevel.Path, null, path, site, null, null, null, null, IntPtr.Zero); } public static Configuration OpenWebConfiguration(string path, string site, string locationSubPath) { return OpenWebConfigurationImpl(WebLevel.Path, null, path, site, locationSubPath, null, null, null, IntPtr.Zero); } public static Configuration OpenWebConfiguration(string path, string site, string locationSubPath, string server) { return OpenWebConfigurationImpl(WebLevel.Path, null, path, site, locationSubPath, server, null, null, IntPtr.Zero); } public static Configuration OpenWebConfiguration(string path, string site, string locationSubPath, string server, string userName, string password) { return OpenWebConfigurationImpl(WebLevel.Path, null, path, site, locationSubPath, server, userName, password, IntPtr.Zero); } [SecurityPermission(SecurityAction.Demand, Unrestricted = true)] public static Configuration OpenWebConfiguration(string path, string site, string locationSubPath, string server, IntPtr userToken) { return OpenWebConfigurationImpl(WebLevel.Path, null, path, site, locationSubPath, server, null, null, userToken); } public static Configuration OpenMappedWebConfiguration(WebConfigurationFileMap fileMap, string path) { return OpenWebConfigurationImpl(WebLevel.Path, fileMap, path, null, null, null, null, null, IntPtr.Zero); } public static Configuration OpenMappedWebConfiguration(WebConfigurationFileMap fileMap, string path, string site) { return OpenWebConfigurationImpl(WebLevel.Path, fileMap, path, site, null, null, null, null, IntPtr.Zero); } public static Configuration OpenMappedWebConfiguration(WebConfigurationFileMap fileMap, string path, string site, string locationSubPath) { return OpenWebConfigurationImpl(WebLevel.Path, fileMap, path, site, locationSubPath, null, null, null, IntPtr.Zero); } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CorrelationTokenInvalidatedHandler.cs
- HwndStylusInputProvider.cs
- InvalidCommandTreeException.cs
- InputScopeConverter.cs
- CommandDesigner.cs
- ShaderEffect.cs
- ExtendedProtectionPolicy.cs
- ImageDrawing.cs
- EditorPartChrome.cs
- ExcCanonicalXml.cs
- ExpressionValueEditor.cs
- FlowchartSizeFeature.cs
- UrlParameterReader.cs
- TextRangeBase.cs
- Resources.Designer.cs
- Bezier.cs
- FullTrustAssemblyCollection.cs
- FactoryGenerator.cs
- TextServicesProperty.cs
- DataConnectionHelper.cs
- MergePropertyDescriptor.cs
- PageCanvasSize.cs
- CodeTryCatchFinallyStatement.cs
- Command.cs
- IntegerValidator.cs
- ScriptingWebServicesSectionGroup.cs
- XmlWrappingWriter.cs
- RotateTransform3D.cs
- input.cs
- precedingsibling.cs
- MsmqProcessProtocolHandler.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- ConsumerConnectionPoint.cs
- CodeLabeledStatement.cs
- InternalConfigHost.cs
- SystemResourceKey.cs
- XmlSerializationReader.cs
- WebPartVerbsEventArgs.cs
- TextServicesDisplayAttribute.cs
- ImplicitInputBrush.cs
- FastPropertyAccessor.cs
- XPathDocumentNavigator.cs
- ChineseLunisolarCalendar.cs
- FunctionQuery.cs
- DebugHandleTracker.cs
- DecimalAnimation.cs
- CounterSampleCalculator.cs
- AmbiguousMatchException.cs
- GrammarBuilderWildcard.cs
- CompleteWizardStep.cs
- ComponentSerializationService.cs
- SplayTreeNode.cs
- ConstrainedGroup.cs
- EncoderFallback.cs
- EncryptedPackage.cs
- SoapCodeExporter.cs
- UnsafeNativeMethods.cs
- DataSourceControl.cs
- WebServiceClientProxyGenerator.cs
- SystemIPInterfaceProperties.cs
- DataServiceKeyAttribute.cs
- AppDomainGrammarProxy.cs
- DateBoldEvent.cs
- PenThread.cs
- DynamicRendererThreadManager.cs
- IIS7ConfigurationLoader.cs
- ArgumentDesigner.xaml.cs
- SetStateEventArgs.cs
- WorkflowStateRollbackService.cs
- CroppedBitmap.cs
- PathGeometry.cs
- StatusBarAutomationPeer.cs
- ReadOnlyTernaryTree.cs
- XhtmlBasicObjectListAdapter.cs
- ManipulationLogic.cs
- BitmapImage.cs
- UrlAuthFailedErrorFormatter.cs
- Solver.cs
- SkewTransform.cs
- OleDbError.cs
- Events.cs
- DataBoundControlActionList.cs
- CallTemplateAction.cs
- DesignerSerializationVisibilityAttribute.cs
- SafeHandle.cs
- ContainerControl.cs
- DataReaderContainer.cs
- SimpleTypesSurrogate.cs
- AdornerHitTestResult.cs
- IndicShape.cs
- ExpressionNormalizer.cs
- KeyTimeConverter.cs
- ResourceKey.cs
- XmlSchemaAny.cs
- XmlWellformedWriter.cs
- DataRelationPropertyDescriptor.cs
- ExpressionNormalizer.cs
- ValidationHelpers.cs
- CTreeGenerator.cs
- BitmapScalingModeValidation.cs