WebConfigurationManager.OpenMachineConfiguration Method (String, String, String, String)

 

Opens the specified machine-configuration file on the specified server as a Configuration object, using the specified security context to allow read or write operations.

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

public static Configuration OpenMachineConfiguration(
	string locationSubPath,
	string server,
	string userName,
	string password
)

Parameters

locationSubPath
Type: System.String

The application path to which the configuration applies.

server
Type: System.String

The fully qualified name of the server to return the configuration for.

userName
Type: System.String

The full user name (Domain\User) to use when opening the file.

password
Type: System.String

The password for the user name.

Exception Condition
ArgumentException

The server or userName and password parameters were invalid.

ConfigurationErrorsException

A valid configuration file could not be loaded.

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

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


// Show how to use OpenMachineConfiguration(string, string).
// It gets the machine.config file on the specified server,
// applicabe to the specified reosurce, for the specified user
// and displays section basic information. 
static void OpenMachineConfiguration5()
{
    // Set the user id and password.
    string user =
          System.Security.Principal.WindowsIdentity.GetCurrent().Name;
    // Substitute with actual password.
    string password = "userPassword";

    // Get the machine.config file applicabe to the
    // specified reosurce, on the specified server for the
    // specified user.
    System.Configuration.Configuration config =
        WebConfigurationManager.OpenMachineConfiguration("configTest",
        "myServer", user, password);

    // Loop to get the sections. Display basic information.
    Console.WriteLine("Name, Allow Definition");
    int i = 0;
    foreach (ConfigurationSection section in config.Sections)
    {
        Console.WriteLine(
            section.SectionInformation.Name + "\t" +
        section.SectionInformation.AllowExeDefinition);
        i += 1;

    }
    Console.WriteLine("[Total number of sections: {0}]", i);

    // Display machine.config path.
    Console.WriteLine("[File path: {0}]", config.FilePath);

}

.NET Framework
Available since 2.0
Return to top
Show: