WebConfigurationManager.GetSection Method (String)

 

Retrieves the specified configuration section from the current Web application's configuration file.

Namespace:   System.Web.Configuration
Assembly:  System.Web (in System.Web.dll)

public static object GetSection(
	string sectionName
)

Parameters

sectionName
Type: System.String

The configuration section name.

Return Value

Type: System.Object

The specified configuration section object, or null if the section does not exist. Remember that security restrictions exist on the use of GetSection as a runtime operation. You might not be able to access a section at run time for modifications, for example.

Exception Condition
ConfigurationErrorsException

A valid configuration file could not be loaded.

If GetSection is called from within a Web application, it gets the section from the configuration file selected by the system according to the Web-application configuration hierarchy.

System_CAPS_cautionCaution

If your application uses a different protocol than HTTP, the GetSection overload that takes both a section name and a path in its parameter list is the one to use. You must specify the configuration file path because the system cannot make any assumptions about the configuration hierarchy level. If you use the GetSection overload that takes only a section name, the system will always attempt to return the configuration settings at the application level. Note, though, that if its specified path is outside of the current application, the overload that takes a path will also return the application-level configuration settings for the currently running application.

You could call GetSection from within a client application. In this case, it gets the default section from the configuration file selected by the system according to the client configuration hierarchy. Usually, this is the Machine.config file, unless you have a mapped configuration in place. For mapping configuration files, refer to the mapping methods described next.

System_CAPS_noteNote

The GetSection method is a run-time method that operates on the section of a configuration file at the hierarchy level in which the application runs. For a non-run-time operation, use GetSection instead. This method operates on the specified section of a configuration file that you obtain using one of the overloaded methods for opening a configuration file, OpenWebConfiguration.

Notes to Implementers:

The return value must be cast to the expected configuration type before use. To avoid possible casting exceptions, you should use a conditional casting operation like the as operator in C# or the function in Visual Basic.

The examples in this section show how to access configuration information with the GetSection method.

The following example shows a section that can be accessed from either a Web application or a console application.

System_CAPS_noteNote

This example demonstrates how to use the GetWebApplicationSection method to get a ConfigurationSection object from a configuration file.


// Show how to use the GetSection(string). 
// to access the connectionStrings section.
static void GetConnectionStringsSection()
{

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

.NET Framework
Available since 2.0
Return to top
Show: