Code:
/ FX-1434 / FX-1434 / 1.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
- ReadOnlyDictionary.cs
- XmlSchemaDocumentation.cs
- RegionIterator.cs
- StateManagedCollection.cs
- CheckBox.cs
- Roles.cs
- Clock.cs
- DiscoveryMessageProperty.cs
- Binding.cs
- SqlConnection.cs
- OdbcConnectionFactory.cs
- GeneralTransformGroup.cs
- EventPrivateKey.cs
- StrokeIntersection.cs
- MessageLoggingFilterTraceRecord.cs
- MobileComponentEditorPage.cs
- WebPart.cs
- ModuleElement.cs
- InvalidContentTypeException.cs
- SR.cs
- XmlLangPropertyAttribute.cs
- BuildResultCache.cs
- ListViewAutomationPeer.cs
- MetadataCollection.cs
- RijndaelManagedTransform.cs
- DynamicUpdateCommand.cs
- GroupByExpressionRewriter.cs
- Constraint.cs
- ConfigurationSectionHelper.cs
- WebReferencesBuildProvider.cs
- ScrollItemPatternIdentifiers.cs
- PageAdapter.cs
- CodeDefaultValueExpression.cs
- PropertyItemInternal.cs
- TraceRecords.cs
- TableAdapterManagerMethodGenerator.cs
- FileSecurity.cs
- ResourceManager.cs
- TabPage.cs
- BoolLiteral.cs
- Style.cs
- HideDisabledControlAdapter.cs
- ConvertEvent.cs
- AttachmentCollection.cs
- MetadataItemEmitter.cs
- ManipulationPivot.cs
- FigureParaClient.cs
- CodeTypeDeclaration.cs
- tooltip.cs
- ExternalFile.cs
- XmlElementList.cs
- TemplateModeChangedEventArgs.cs
- ZoneMembershipCondition.cs
- SoapObjectReader.cs
- ItemsPresenter.cs
- TextParagraphCache.cs
- Win32.cs
- SubclassTypeValidatorAttribute.cs
- ThreadSafeList.cs
- WorkflowFormatterBehavior.cs
- HttpModuleActionCollection.cs
- CodeExpressionStatement.cs
- XamlStream.cs
- MatrixTransform.cs
- LoadedEvent.cs
- Typography.cs
- SQLInt16.cs
- SchemaCollectionCompiler.cs
- MatrixValueSerializer.cs
- XPathConvert.cs
- DataGridViewTopLeftHeaderCell.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- _Semaphore.cs
- HasActivatableWorkflowEvent.cs
- CompositeActivityTypeDescriptorProvider.cs
- MetadataCache.cs
- UnsafeNativeMethods.cs
- SchemaCollectionPreprocessor.cs
- StyleCollection.cs
- CompoundFileStreamReference.cs
- HttpVersion.cs
- MulticastIPAddressInformationCollection.cs
- ContentFileHelper.cs
- DebugView.cs
- EntityDataSourceReferenceGroup.cs
- DataConnectionHelper.cs
- TypeForwardedToAttribute.cs
- Typography.cs
- EntityStoreSchemaFilterEntry.cs
- UnknownWrapper.cs
- BasicHttpSecurityElement.cs
- pingexception.cs
- Grid.cs
- DriveNotFoundException.cs
- PropertyMetadata.cs
- recordstatefactory.cs
- SecurityDescriptor.cs
- ItemCheckEvent.cs
- ProfileEventArgs.cs
- HashRepartitionStream.cs