Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextElementEditingBehaviorAttribute.cs
- WebPartConnectVerb.cs
- WindowsListViewScroll.cs
- DisplayClaim.cs
- FormViewPageEventArgs.cs
- MSAAWinEventWrap.cs
- HttpGetServerProtocol.cs
- ZeroOpNode.cs
- ExpressionBindingCollection.cs
- DataServiceContext.cs
- DataBoundLiteralControl.cs
- BooleanExpr.cs
- HierarchicalDataSourceConverter.cs
- XMLUtil.cs
- TemplatePagerField.cs
- TemplatedWizardStep.cs
- ExpressionBindings.cs
- SrgsSubset.cs
- InvalidDocumentContentsException.cs
- ExpressionBindingsDialog.cs
- RijndaelManagedTransform.cs
- WebConfigurationFileMap.cs
- SqlCommand.cs
- SubclassTypeValidator.cs
- ResponseStream.cs
- DataGridViewAccessibleObject.cs
- MailMessageEventArgs.cs
- arabicshape.cs
- cookiecontainer.cs
- HelpInfo.cs
- WebDescriptionAttribute.cs
- PropertyValueUIItem.cs
- InternalEnumValidatorAttribute.cs
- PriorityQueue.cs
- FrameworkReadOnlyPropertyMetadata.cs
- SqlWebEventProvider.cs
- EmptyControlCollection.cs
- UIElementPropertyUndoUnit.cs
- ValidateNames.cs
- SqlCommandBuilder.cs
- IgnoreFileBuildProvider.cs
- CellTreeNode.cs
- XamlTreeBuilder.cs
- PixelFormatConverter.cs
- ProxyGenerator.cs
- ObfuscationAttribute.cs
- RadioButtonPopupAdapter.cs
- DatatypeImplementation.cs
- ProfileProvider.cs
- TagPrefixAttribute.cs
- ListViewEditEventArgs.cs
- ProfileProvider.cs
- AuthenticationModulesSection.cs
- KeyGestureValueSerializer.cs
- PolyLineSegment.cs
- MonthChangedEventArgs.cs
- DockPatternIdentifiers.cs
- XmlSchemaException.cs
- SizeAnimationUsingKeyFrames.cs
- brushes.cs
- CompilerGlobalScopeAttribute.cs
- CodeTypeMember.cs
- ErrorStyle.cs
- StagingAreaInputItem.cs
- IPEndPointCollection.cs
- HttpWrapper.cs
- XmlElementAttributes.cs
- EnumerableWrapperWeakToStrong.cs
- EncodingDataItem.cs
- XmlSubtreeReader.cs
- PartitionerStatic.cs
- ClientConfigurationSystem.cs
- ProcessHost.cs
- WSHttpSecurity.cs
- HtmlElement.cs
- TextBoxBase.cs
- UrlMappingsSection.cs
- OneOf.cs
- ReferencedAssembly.cs
- NetSectionGroup.cs
- OdbcFactory.cs
- EmptyImpersonationContext.cs
- ViewStateModeByIdAttribute.cs
- ListViewSortEventArgs.cs
- HierarchicalDataSourceConverter.cs
- MetadataArtifactLoaderResource.cs
- DefaultTextStoreTextComposition.cs
- BindingEntityInfo.cs
- HttpCapabilitiesSectionHandler.cs
- FixedSOMTableRow.cs
- StrokeCollection.cs
- XmlDataSourceView.cs
- TypeUnloadedException.cs
- Int64Converter.cs
- ExternalException.cs
- TdsParserSessionPool.cs
- EDesignUtil.cs
- TreeSet.cs
- CallbackTimeoutsBehavior.cs
- KnownAssembliesSet.cs