WebConfigurationManager Class
Assembly: System.Web (in system.web.dll)
The WebConfigurationManager class allows you to access computer and application information.
Using WebConfigurationManager is the preferred way to work with configuration files related to Web applications. For client applications, use the ConfigurationManager class.
Your application can extend the System.Configuration types or use them directly to handle configuration information, as explained in the following list:
-
Handling configuration. To handle configuration information using the standard types, you use one of the following approaches:
-
Accessing a section. To access configuration information for your application, you must use one of the GetSection methods provided by WebConfigurationManager. For <appSettings> and <connectionStrings>, you use the AppSettings and ConnectionStrings properties. These methods perform read-only operations, use a single cached instance of the configuration, and are multithread aware.
-
Accessing configuration files. Your application can read and write configuration settings at any level, for itself or for other applications or computers, locally or remotely. You use one of the open methods provided by WebConfigurationManager. These methods will return a Configuration object, which in turn provides the required methods and properties to handle the underlying configuration files. These methods perform read or write operations and recreate the configuration data every time a file is opened.
-
Advanced configuration. More advanced configuration handling is provided by the types SectionInformation, PropertyInformation, PropertyInformationCollection, ElementInformation, ContextInformation, ConfigurationSectionGroup, and ConfigurationSectionGroupCollection.
-
-
Extending configuration standard types. You can also provide your custom configuration elements by extending the standard configuration types such as ConfigurationElement, ConfigurationElementCollection, ConfigurationProperty, and ConfigurationSection by using a programmatic or an attributed model. Refer to the ConfigurationSection class for an example of how to extend a standard configuration type programmatically. Refer to the ConfigurationElement class for an example of how to extend a standard configuration type using the attributed model.
-
Read permission on the configuration file at the current configuration hierarchy level.
-
Read permissions on all the parent configuration files.
Note: |
|---|
|
If you use a static GetSection method that takes a path parameter, the path parameter must refer to the application in which the code is running; otherwise, the parameter is ignored and configuration information for the currently-running application is returned. |
-
Write permission on the configuration file and directory at the current configuration hierarchy level.
-
Read permissions on all the configuration files.
| Topic | Location |
|---|---|
| How to: Access ASP.NET Configuration Settings Programmatically | Configuring ASP .NET Web Applications |
| How to: Lock ASP.NET Configuration Settings | Configuring ASP .NET Web Applications |
| How to: View Inherited and Local Configuration Settings Programmatically | Configuring ASP .NET Web Applications |
| How to: Access ASP.NET Configuration Settings Programmatically | Configuring ASP .NET Web Applications |
| How to: Lock ASP.NET Configuration Settings | Configuring ASP .NET Web Applications |
| How to: View Inherited and Local Configuration Settings Programmatically | Configuring ASP .NET Web Applications |
The following example shows how to access configuration information with the WebConfigurationManager method.
// Show the use of GetSection(string). // It gets the connectiobStrings section. // If called from within a client application, // the GetSection(string) gets the default connectionStrings // section from the machine.config. // If called from within a Web aplication it gets the // section from the configuration file located at the // application current level. static void GetSection1() { // Get the connectionStrings section. ConnectionStringsSection connectionStringsSection = WebConfigurationManager.GetSection("connectionStrings") as ConnectionStringsSection; // Get the connectionStrings key,value pairs collection. ConnectionStringSettingsCollection connectionStrings = connectionStringsSection.ConnectionStrings; // Get the collection enumerator. IEnumerator connectionStringsEnum = connectionStrings.GetEnumerator(); // Loop through the collection and // display the connectionStrings key, value pairs. int i = 0; Console.WriteLine("[Display the connectionStrings]"); while (connectionStringsEnum.MoveNext()) { string name = connectionStrings[i].Name; Console.WriteLine("Name: {0} Value: {1}", name, connectionStrings[name]); i += 1; } Console.WriteLine(); }
Note: