WebConfigurationManager.OpenMappedWebConfiguration Method (WebConfigurationFileMap, String, String)
Opens the specified Web application configuration file as a Configuration object using the specified file mapping, virtual path, and site name to allow read or write operations.
Assembly: System.Web (in System.Web.dll)
public static Configuration OpenMappedWebConfiguration( WebConfigurationFileMap fileMap, string path, string site )
Parameters
- fileMap
-
Type:
System.Web.Configuration.WebConfigurationFileMap
The WebConfigurationFileMap object to use in place of a default Web-application configuration-file mapping.
- 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.
| Exception | Condition |
|---|---|
| ConfigurationErrorsException | A valid configuration file could not be loaded. |
To obtain the Configuration object for a resource, your code must have read privileges on all the configuration files from which it inherits settings. To update a configuration file, your code must additionally have write privileges for both the configuration file and the directory in which it exists.
The following example shows how to use the OpenMappedWebConfiguration method.
// Show how to use the OpenMappedWebConfiguration( // WebConfigurationFileMap, string, string). static void OpenMappedWebConfiguration2() { // Create the configuration directories mapping. WebConfigurationFileMap fileMap = CreateFileMap(); try { // Get the Configuration object for the mapped // virtual directory. System.Configuration.Configuration config = WebConfigurationManager.OpenMappedWebConfiguration( fileMap, "/config", "config"); // Define a nique key for the creation of // an appSettings element entry. int appStgCnt = config.AppSettings.Settings.Count; string asName = "AppSetting" + appStgCnt.ToString(); // Add a new element to the appSettings. config.AppSettings.Settings.Add(asName, DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString()); // Save to the configuration file. config.Save(ConfigurationSaveMode.Modified); // Display new appSettings. Console.WriteLine("Count: [{0}]", config.AppSettings.Settings.Count); foreach (string key in config.AppSettings.Settings.AllKeys) { Console.WriteLine("[{0}] = [{1}]", key, config.AppSettings.Settings[key].Value); } } catch (InvalidOperationException err) { Console.WriteLine(err.ToString()); } Console.WriteLine(); }
Refer to OpenMachineConfiguration for an example that shows how to map a virtual directory hierarchy to a physical one.
Available since 2.0