WebConfigurationManager.GetSection Method (String, String)

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

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

public static Object GetSection (
	string sectionName,
	string path
public static Object GetSection (
	String sectionName, 
	String path
public static function GetSection (
	sectionName : String, 
	path : String
) : Object
Not applicable.



The configuration section name.


The virtual configuration file path.

Return Value

The specified configuration section object, or a null reference (Nothing in Visual Basic) if the section does not exist. Remember that security restrictions exist on the use of GetSection as a run-time operation. You might not be able to access a section at run time for modifications, for instance.

Exception typeCondition


The method is called from outside a Web application.


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 defined by the specified path in the configuration hierarchy.

Caution noteCaution:

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.

This method cannot be called from within a client application.

If you want to retrieve the configuration section from the configuration file located at the current Web application directory level, use the GetSection method.


The GetSection method is a run-time method operating 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 open configuration file methods.

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 TryCast function in Visual Basic.

The following example shows how to access configuration information with the GetSection method.

// Show the use of GetSection(string, string). 
// The GetSection(string, string) can only be called
// from within a Web application. It gets the
// section from the application configuration file 
// located at the level specified by the path. 
// If you run this method from a console
// app you get a InvalidOperationException.
static void GetSection2()

        // Get the connectionStrings section for the 
        // specified Web app. This GetSection overload
        // can olny be called from within a Web application.
        ConnectionStringsSection connectionStringsSection =
            "/configTest") as ConnectionStringsSection;

        // Get the connectionStrings key,value pairs collection
        ConnectionStringSettingsCollection connectionStrings =

        // Get the collection enumerator.
        IEnumerator connectionStringsEnum =

        // Loop through the collection and 
        // display the connectionStrings key, value pairs.
        int i = 0;
        Console.WriteLine("[Display connectionStrings]");
        while (connectionStringsEnum.MoveNext())
            string name = connectionStrings[i].Name;
            Console.WriteLine("Name: {0} Value: {1}",
            name, connectionStrings[name]);
            i += 1;

    catch (InvalidOperationException e)
        string errorMsg = e.ToString();

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

Community Additions