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
- ObjectDataSourceDisposingEventArgs.cs
- XmlnsDefinitionAttribute.cs
- DocumentPageViewAutomationPeer.cs
- ExpressionEditorAttribute.cs
- GradientBrush.cs
- VariableQuery.cs
- CalendarDay.cs
- DataListItemEventArgs.cs
- TextServicesDisplayAttributePropertyRanges.cs
- StatusBarItem.cs
- ReturnValue.cs
- OdbcConnection.cs
- EllipseGeometry.cs
- CultureTableRecord.cs
- PrimitiveDataContract.cs
- JsonCollectionDataContract.cs
- ForAllOperator.cs
- SqlConnectionHelper.cs
- CompositeFontParser.cs
- SessionStateContainer.cs
- PagedControl.cs
- FlowDocumentScrollViewer.cs
- FontDifferentiator.cs
- SQLCharsStorage.cs
- DesignerTransactionCloseEvent.cs
- Filter.cs
- ApplicationSecurityInfo.cs
- PackageDigitalSignatureManager.cs
- LinqMaximalSubtreeNominator.cs
- Header.cs
- LinqDataSourceDeleteEventArgs.cs
- VisualTarget.cs
- XsltCompileContext.cs
- RectConverter.cs
- Content.cs
- AssemblyName.cs
- XamlGridLengthSerializer.cs
- TraceSource.cs
- BitHelper.cs
- ConfigXmlWhitespace.cs
- DataRecord.cs
- TypeEnumerableViewSchema.cs
- DataServiceContext.cs
- webbrowsersite.cs
- UIElement3D.cs
- SrgsRuleRef.cs
- RankException.cs
- SiteMapNode.cs
- PointCollection.cs
- RegexReplacement.cs
- WebPartConnectionsConnectVerb.cs
- AQNBuilder.cs
- ListViewDeleteEventArgs.cs
- SerializerProvider.cs
- XpsResourcePolicy.cs
- XamlFilter.cs
- BitmapMetadata.cs
- tooltip.cs
- SystemMulticastIPAddressInformation.cs
- CellParaClient.cs
- HorizontalAlignConverter.cs
- MonthCalendar.cs
- ReferentialConstraint.cs
- PrintingPermissionAttribute.cs
- ServiceOperationWrapper.cs
- ApplicationContext.cs
- Claim.cs
- InvalidPropValue.cs
- RegexRunnerFactory.cs
- MemberRelationshipService.cs
- validationstate.cs
- WebPartVerbCollection.cs
- PrivateFontCollection.cs
- PropertyGridEditorPart.cs
- PathGeometry.cs
- NegationPusher.cs
- ToolStripLocationCancelEventArgs.cs
- SessionIDManager.cs
- WsdlBuildProvider.cs
- UInt16Storage.cs
- PkcsUtils.cs
- MemberMemberBinding.cs
- TrackPointCollection.cs
- ConnectionInterfaceCollection.cs
- ECDiffieHellmanCng.cs
- SiteMapDataSource.cs
- NamedPipeConnectionPoolSettingsElement.cs
- String.cs
- PathGradientBrush.cs
- ControlPropertyNameConverter.cs
- AccessedThroughPropertyAttribute.cs
- ToolboxBitmapAttribute.cs
- InProcStateClientManager.cs
- EffectiveValueEntry.cs
- MethodRental.cs
- TableCellAutomationPeer.cs
- ResourceDescriptionAttribute.cs
- MergeEnumerator.cs
- wgx_render.cs
- XmlSchemaFacet.cs