Export (0) Print
Expand All
2 out of 9 rated this helpful - Rate this topic

WebConfigurationManager Class

Provides access to configuration files as they apply to Web applications.

Namespace: System.Web.Configuration
Assembly: System.Web (in system.web.dll)
public static class WebConfigurationManager
public final class WebConfigurationManager
public final class WebConfigurationManager
Not applicable.

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.

Notes to Implementers: The Configuration class allows programmatic access for editing configuration files. 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. You can access these files for reading or writing as follows: You use GetSection or GetSectionGroup to read configuration information. Note that the user or process that reads must have the following permissions:
  • Read permission on the configuration file at the current configuration hierarchy level.

  • Read permissions on all the parent configuration files.

If your application needs read-only access to its own configuration, it is recommended you use the GetSection methods. These methods provide access to the cached configuration values for the current application, which has better performance than the Configuration class.
NoteNote:

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.

You use one of the Save methods to write configuration information. Note that the user or process that writes must have the following permissions:
  • Write permission on the configuration file and directory at the current configuration hierarchy level.

  • Read permissions on all the configuration files.

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();
}


System.Object
  System.Web.Configuration.WebConfigurationManager
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.