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
- FloaterBaseParaClient.cs
- BlurBitmapEffect.cs
- Rectangle.cs
- ObjectHandle.cs
- PeerCollaboration.cs
- TypeBuilder.cs
- DesignerCommandAdapter.cs
- SQLInt32Storage.cs
- UserValidatedEventArgs.cs
- OleDbInfoMessageEvent.cs
- SQLByte.cs
- TaskHelper.cs
- ChannelServices.cs
- SizeF.cs
- FixedPage.cs
- CheckPair.cs
- PolyBezierSegment.cs
- InstanceDataCollectionCollection.cs
- ProviderSettingsCollection.cs
- ApplySecurityAndSendAsyncResult.cs
- RuntimeIdentifierPropertyAttribute.cs
- ReflectTypeDescriptionProvider.cs
- WebControlAdapter.cs
- ExpressionBindings.cs
- CallTemplateAction.cs
- StringDictionary.cs
- State.cs
- CollectionViewSource.cs
- ColorPalette.cs
- SafeRightsManagementQueryHandle.cs
- KeyGesture.cs
- MSAAWinEventWrap.cs
- LayoutEditorPart.cs
- SignedInfo.cs
- BlockUIContainer.cs
- CodeConstructor.cs
- RootBrowserWindow.cs
- WrapPanel.cs
- Schema.cs
- DSASignatureDeformatter.cs
- ObjectCacheSettings.cs
- CardSpaceSelector.cs
- FlatButtonAppearance.cs
- SourceSwitch.cs
- Rotation3D.cs
- MailBnfHelper.cs
- Message.cs
- DataSourceControlBuilder.cs
- ObjectDisposedException.cs
- TextServicesContext.cs
- AppDomainGrammarProxy.cs
- InfoCardRSACryptoProvider.cs
- ZipFileInfoCollection.cs
- AssertSection.cs
- ErrorInfoXmlDocument.cs
- InputReferenceExpression.cs
- InstancePersistenceContext.cs
- SqlStream.cs
- InstallerTypeAttribute.cs
- RegexNode.cs
- XmlSignatureProperties.cs
- ButtonBaseAutomationPeer.cs
- Button.cs
- MouseOverProperty.cs
- QilStrConcat.cs
- TextCompositionEventArgs.cs
- DbProviderSpecificTypePropertyAttribute.cs
- EdmError.cs
- XamlFrame.cs
- XmlEventCache.cs
- AutomationPatternInfo.cs
- ConfigurationElementProperty.cs
- DataFormats.cs
- AsmxEndpointPickerExtension.cs
- ProcessHost.cs
- LinqDataSourceContextEventArgs.cs
- LinkConverter.cs
- MobileUserControlDesigner.cs
- PolyBezierSegment.cs
- QualifiedId.cs
- ColorDialog.cs
- NullReferenceException.cs
- JpegBitmapDecoder.cs
- ConstrainedGroup.cs
- SqlUserDefinedAggregateAttribute.cs
- PrintPageEvent.cs
- EncodingInfo.cs
- BaseProcessor.cs
- LOSFormatter.cs
- GatewayDefinition.cs
- TiffBitmapDecoder.cs
- sortedlist.cs
- MarshalDirectiveException.cs
- WeakEventTable.cs
- SizeKeyFrameCollection.cs
- FixedPageAutomationPeer.cs
- QilScopedVisitor.cs
- FixedSOMTextRun.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- InvokeHandlers.cs