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.
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.
Note |
|---|
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(); }
Available since 2.0
