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
)

Parameters

path
Type: System.String

The virtual path to the configuration file.

site
Type: System.String

The name of the application Web site, as displayed in Internet Information Services (IIS) configuration.

locationSubPath
Type: System.String

The specific resource to which the configuration applies.

server
Type: System.String

The network name of the server the Web application resides on.

userToken
Type: System.IntPtr

An account token to use.

Exception Condition
ArgumentException

The server or userToken parameters were invalid.

ConfigurationErrorsException

A valid configuration file could not be loaded.

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

System_CAPS_noteNote

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 = 
        System.Security.Principal.WindowsIdentity.GetCurrent().Token;

    string user = 
        System.Security.Principal.WindowsIdentity.GetCurrent().Name;

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

    // Get the appSettings.
    KeyValueConfigurationCollection appSettings =
         config.AppSettings.Settings;

    // Loop through the collection and
    // display the appSettings key, value pairs.
    Console.WriteLine(
        "[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);
    }

    Console.WriteLine();
}

.NET Framework
Available since 2.0
Return to top
Show: