This documentation is archived and is not being maintained.

WebConfigurationManager.OpenWebConfiguration Method (String, String, String, String, IntPtr)

Opens the Web-application configuration file as a Configuration object using the specified virtual path, site name, location, server, and security context to allow read or write operations.

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

[SecurityPermissionAttribute(SecurityAction.Demand, Unrestricted = true)]
public static Configuration OpenWebConfiguration(
	string path,
	string site,
	string locationSubPath,
	string server,
	IntPtr userToken


Type: System.String
The virtual path to the configuration file.
Type: System.String
The name of the application Web site, as displayed in Internet Information Services (IIS) configuration.
Type: System.String
The specific resource to which the configuration applies.
Type: System.String
The network name of the server the Web application resides on.
Type: System.IntPtr
An account token to use.


The server or userToken parameters were invalid.


A valid configuration file could not be loaded.

This method is used to access a configuration file using impersonation.


The account token is usually retrieved from an instance of the WindowsIdentity class or through a call to unmanaged code, such as a call to the Win32 API LogonUser. For more information about calls to unmanaged code, see Consuming Unmanaged DLL Functions.

To obtain the Configuration object for a remote resource, your code must have administrative privileges on the remote computer.

The following example shows how to use the OpenWebConfiguration method to access configuration information.

// Show how to use OpenWebConfiguration(string, string, 
// string, string, IntPtr).
// It gets he appSettings section of a Web application 
// running on a remote server. 
// If the serve is remote your application shall have the
// requires access rights to the configuration file. 
static void OpenWebConfiguration6()

    IntPtr userToken = 

    string user = 

    // Get the configuration object for a Web application
    // running on a remote server.
    System.Configuration.Configuration config =
        "/configTest", "Default Web Site", null, 
        "myServer", userToken) as System.Configuration.Configuration;

    // Get the appSettings.
    KeyValueConfigurationCollection appSettings =

    // Loop through the collection and
    // display the appSettings key, value pairs.
        "[appSettings for Web app on server: myServer user: {0}]", user);
    foreach (string key in appSettings.AllKeys)
        Console.WriteLine("Name: {0} Value: {1}",
        key, appSettings[key].Value);


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.