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
- FontInfo.cs
- ComboBoxItem.cs
- HtmlValidatorAdapter.cs
- HttpCapabilitiesEvaluator.cs
- Point3DIndependentAnimationStorage.cs
- RegisteredExpandoAttribute.cs
- SqlNodeAnnotations.cs
- RequestCachingSection.cs
- AttributeEmitter.cs
- FixedSOMGroup.cs
- Switch.cs
- BuildResultCache.cs
- UDPClient.cs
- DriveNotFoundException.cs
- OutKeywords.cs
- BCryptSafeHandles.cs
- TreeViewItem.cs
- QuaternionConverter.cs
- DesignTimeTemplateParser.cs
- SafeLibraryHandle.cs
- EventArgs.cs
- OrderablePartitioner.cs
- TextSpanModifier.cs
- Size3DConverter.cs
- NameValueCache.cs
- MaskDesignerDialog.cs
- BinaryExpression.cs
- WmlPhoneCallAdapter.cs
- VersionPair.cs
- PropertyGridEditorPart.cs
- OutgoingWebResponseContext.cs
- HandlerWithFactory.cs
- SmtpCommands.cs
- ApplicationContext.cs
- TriState.cs
- ListControlDesigner.cs
- BmpBitmapDecoder.cs
- TextDocumentView.cs
- StateMachineExecutionState.cs
- SQLCharsStorage.cs
- PerfCounters.cs
- MetadataElement.cs
- TimelineClockCollection.cs
- CompositeKey.cs
- ServiceHttpHandlerFactory.cs
- PolicyUnit.cs
- SqlBuffer.cs
- WindowsTitleBar.cs
- PrintPreviewDialog.cs
- AutomationProperties.cs
- ObjectDataSourceMethodEventArgs.cs
- SmtpFailedRecipientsException.cs
- SqlTriggerAttribute.cs
- BitmapFrameEncode.cs
- Timer.cs
- NamespaceEmitter.cs
- ClaimSet.cs
- RNGCryptoServiceProvider.cs
- EventsTab.cs
- InternalBufferOverflowException.cs
- ProjectionPruner.cs
- PersonalizablePropertyEntry.cs
- Hash.cs
- Expression.DebuggerProxy.cs
- ChtmlFormAdapter.cs
- UdpTransportBindingElement.cs
- MarkedHighlightComponent.cs
- GenericTextProperties.cs
- OutputScope.cs
- TextElement.cs
- AncestorChangedEventArgs.cs
- ellipse.cs
- TableLayoutCellPaintEventArgs.cs
- StylusPointPropertyId.cs
- SamlNameIdentifierClaimResource.cs
- DeferredRunTextReference.cs
- ListBindableAttribute.cs
- TypeConstant.cs
- XmlWrappingWriter.cs
- Certificate.cs
- FixedStringLookup.cs
- EventMappingSettingsCollection.cs
- ClassicBorderDecorator.cs
- ReliabilityContractAttribute.cs
- AutomationTextAttribute.cs
- ModelFunction.cs
- SecurityTokenParametersEnumerable.cs
- ImportContext.cs
- TransformValueSerializer.cs
- OutputCacheProfile.cs
- ControlLocalizer.cs
- ZoneButton.cs
- EditorPartDesigner.cs
- _IPv6Address.cs
- WindowsListView.cs
- HtmlTableRowCollection.cs
- dbdatarecord.cs
- PrimitiveSchema.cs
- GatewayDefinition.cs
- NamedPipeChannelListener.cs