Поделиться через


ConfigurationManager.OpenMappedExeConfiguration Метод

Определение

Открывает указанный файл конфигурации клиента в качестве объекта Configuration.

Перегрузки

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel)

Открывает указанный файл конфигурации клиента в качестве объекта Configuration, который использует указанные сопоставление файлов и уровень пользователя.

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel, Boolean)

Открывает указанный файл конфигурации клиента в качестве объекта Configuration, который использует указанное сопоставление файлов, уровень пользователя и параметр предварительной загрузки.

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel)

Исходный код:
ConfigurationManager.cs
Исходный код:
ConfigurationManager.cs
Исходный код:
ConfigurationManager.cs

Открывает указанный файл конфигурации клиента в качестве объекта Configuration, который использует указанные сопоставление файлов и уровень пользователя.

public:
 static System::Configuration::Configuration ^ OpenMappedExeConfiguration(System::Configuration::ExeConfigurationFileMap ^ fileMap, System::Configuration::ConfigurationUserLevel userLevel);
public static System.Configuration.Configuration OpenMappedExeConfiguration (System.Configuration.ExeConfigurationFileMap fileMap, System.Configuration.ConfigurationUserLevel userLevel);
static member OpenMappedExeConfiguration : System.Configuration.ExeConfigurationFileMap * System.Configuration.ConfigurationUserLevel -> System.Configuration.Configuration
Public Shared Function OpenMappedExeConfiguration (fileMap As ExeConfigurationFileMap, userLevel As ConfigurationUserLevel) As Configuration

Параметры

fileMap
ExeConfigurationFileMap

Файл конфигурации, используемый вместо файла конфигурации приложения по умолчанию.

userLevel
ConfigurationUserLevel

Одно из значений перечисления, определяющее уровень пользователя, для которого открывается конфигурация.

Возвращаемое значение

Объект конфигурации.

Исключения

Не удалось загрузить файл конфигурации.

Примеры

В следующем примере кода показано, как использовать OpenMappedExeConfiguration метод для получения всех разделов, содержащихся в файле конфигурации.


   // Access a configuration file using mapping.
   // This function uses the OpenMappedExeConfiguration 
   // method to access a new configuration file.   
   // It also gets the custom ConsoleSection and 
   // sets its ConsoleElement BackgroundColor and
   // ForegroundColor properties to green and red
   // respectively. Then it uses these properties to
   // set the console colors.  
   public static void MapExeConfiguration()
   {

     // Get the application configuration file.
     System.Configuration.Configuration config =
       ConfigurationManager.OpenExeConfiguration(
             ConfigurationUserLevel.None);
   
     Console.WriteLine(config.FilePath);

     if (config == null)
     {
       Console.WriteLine(
         "The configuration file does not exist.");
       Console.WriteLine(
        "Use OpenExeConfiguration to create the file.");
     }

     // Create a new configuration file by saving 
     // the application configuration to a new file.
     string appName = 
       Environment.GetCommandLineArgs()[0];

     string configFile =  string.Concat(appName, 
       ".2.config");
     config.SaveAs(configFile, ConfigurationSaveMode.Full);

     // Map the new configuration file.
     ExeConfigurationFileMap configFileMap = 
         new ExeConfigurationFileMap();
     configFileMap.ExeConfigFilename = configFile;

     // Get the mapped configuration file
    config = 
       ConfigurationManager.OpenMappedExeConfiguration(
         configFileMap, ConfigurationUserLevel.None);

     // Make changes to the new configuration file. 
     // This is to show that this file is the 
     // one that is used.
     string sectionName = "consoleSection";

     ConsoleSection customSection =
       (ConsoleSection)config.GetSection(sectionName);

     if (customSection == null)
     {
         customSection = new ConsoleSection();
         config.Sections.Add(sectionName, customSection);
     }
     else
         // Change the section configuration values.
         customSection =
             (ConsoleSection)config.GetSection(sectionName);

     customSection.ConsoleElement.BackgroundColor =
         ConsoleColor.Green;
     customSection.ConsoleElement.ForegroundColor =
         ConsoleColor.Red;

     // Save the configuration file.
     config.Save(ConfigurationSaveMode.Modified);

     // Force a reload of the changed section. This 
     // makes the new values available for reading.
     ConfigurationManager.RefreshSection(sectionName);

     // Set console properties using the 
     // configuration values contained in the 
     // new configuration file.
     Console.BackgroundColor =
       customSection.ConsoleElement.BackgroundColor;
     Console.ForegroundColor =
       customSection.ConsoleElement.ForegroundColor;
     Console.Clear();

     Console.WriteLine();
     Console.WriteLine("Using OpenMappedExeConfiguration.");
     Console.WriteLine("Configuration file is: {0}", 
       config.FilePath);
   }

' Access a configuration file using mapping.
' This function uses the OpenMappedExeConfiguration 
' method to access a new configuration file.   
' It also gets the custom ConsoleSection and 
' sets its ConsoleElement BackgroundColor and
' ForegroundColor properties to green and red
' respectively. Then it uses these properties to
' set the console colors.  
Public Shared Sub MapExeConfiguration()

    ' Get the application configuration file.
    Dim config As System.Configuration.Configuration = _
    ConfigurationManager.OpenExeConfiguration( _
        ConfigurationUserLevel.None)

    Console.WriteLine(config.FilePath)

    If config Is Nothing Then
        Console.WriteLine( _
        "The configuration file does not exist.")
        Console.WriteLine( _
        "Use OpenExeConfiguration to create file.")
    End If

    ' Create a new configuration file by saving 
    ' the application configuration to a new file.
    Dim appName As String = _
        Environment.GetCommandLineArgs()(0)

    Dim configFile As String = _
        String.Concat(appName, "2.config")
    config.SaveAs(configFile, _
                  ConfigurationSaveMode.Full)

    ' Map the new configuration file.
    Dim configFileMap As New ExeConfigurationFileMap()
    configFileMap.ExeConfigFilename = configFile

    ' Get the mapped configuration file
    config = _
    ConfigurationManager.OpenMappedExeConfiguration( _
        configFileMap, ConfigurationUserLevel.None)

    ' Make changes to the new configuration file. 
    ' This is to show that this file is the 
    ' one that is used.
    Dim sectionName As String = "consoleSection"

    Dim customSection As ConsoleSection = _
        DirectCast(config.GetSection(sectionName),  _
            ConsoleSection)

    If customSection Is Nothing Then
        customSection = New ConsoleSection()
        config.Sections.Add(sectionName, customSection)
    End If

    ' Change the section configuration values.
    customSection = _
        DirectCast(config.GetSection(sectionName),  _
            ConsoleSection)
    customSection.ConsoleElement.BackgroundColor = _
        ConsoleColor.Green
    customSection.ConsoleElement.ForegroundColor = _
        ConsoleColor.Red
    ' Save the configuration file.
    config.Save(ConfigurationSaveMode.Modified)

    ' Force a reload of the changed section. This 
    ' makes the new values available for reading.
    ConfigurationManager.RefreshSection(sectionName)

    ' Set console properties using the 
    ' configuration values contained in the 
    ' new configuration file.
    Console.BackgroundColor = _
        customSection.ConsoleElement.BackgroundColor
    Console.ForegroundColor = _
        customSection.ConsoleElement.ForegroundColor
    Console.Clear()

    Console.WriteLine()
    Console.WriteLine( _
        "Using OpenMappedExeConfiguration.")
    Console.WriteLine( _
        "Configuration file is: {0}", config.FilePath)
End Sub

Комментарии

Объект ConfigurationUserLevel определяет расположение открываемого файла конфигурации. Он указывает, имеет ли файл уровень пользователя (файл конфигурации находится в том же каталоге, что и приложение) или уровень для каждого пользователя (файл конфигурации находится в пути параметров приложения, определяемом параметром userLevel).

Примечание

Чтобы получить Configuration объект для ресурса, код должен иметь разрешения на чтение для всех файлов конфигурации, от которых он наследует параметры. Чтобы обновить файл конфигурации, код должен дополнительно иметь разрешения на запись как для файла конфигурации, так и для каталога, в котором он существует.

См. также раздел

Применяется к

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel, Boolean)

Исходный код:
ConfigurationManager.cs
Исходный код:
ConfigurationManager.cs
Исходный код:
ConfigurationManager.cs

Открывает указанный файл конфигурации клиента в качестве объекта Configuration, который использует указанное сопоставление файлов, уровень пользователя и параметр предварительной загрузки.

public:
 static System::Configuration::Configuration ^ OpenMappedExeConfiguration(System::Configuration::ExeConfigurationFileMap ^ fileMap, System::Configuration::ConfigurationUserLevel userLevel, bool preLoad);
public static System.Configuration.Configuration OpenMappedExeConfiguration (System.Configuration.ExeConfigurationFileMap fileMap, System.Configuration.ConfigurationUserLevel userLevel, bool preLoad);
static member OpenMappedExeConfiguration : System.Configuration.ExeConfigurationFileMap * System.Configuration.ConfigurationUserLevel * bool -> System.Configuration.Configuration
Public Shared Function OpenMappedExeConfiguration (fileMap As ExeConfigurationFileMap, userLevel As ConfigurationUserLevel, preLoad As Boolean) As Configuration

Параметры

fileMap
ExeConfigurationFileMap

Файл конфигурации, используемый вместо файла конфигурации приложения по умолчанию.

userLevel
ConfigurationUserLevel

Одно из значений перечисления, определяющее уровень пользователя, для которого открывается конфигурация.

preLoad
Boolean

Значение true для предварительной загрузки всех групп разделов и разделов; в противном случае — значение false.

Возвращаемое значение

Объект конфигурации.

Исключения

Не удалось загрузить файл конфигурации.

Комментарии

Объект ConfigurationUserLevel определяет расположение открываемого файла конфигурации. Он указывает, не имеет ли файл уровня пользователя (файл конфигурации находится в том же каталоге, что и приложение) или имеет уровень для каждого пользователя (файл конфигурации находится в пути параметров приложения, определяемом параметром userLevel).

Примечание

Чтобы получить Configuration объект для ресурса, код должен иметь разрешения на чтение для всех файлов конфигурации, от которых он наследует параметры. Чтобы обновить файл конфигурации, код должен дополнительно иметь разрешения на запись как для файла конфигурации, так и для каталога, в котором он существует.

Пример кода см. в разделе перегрузки OpenMappedExeConfiguration .

Применяется к