Compartilhar via


ConfigurationManager.OpenMappedExeConfiguration Método

Definição

Abre o arquivo de configuração do cliente especificado como um objeto Configuration.

Sobrecargas

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel)

Abre o arquivo de configuração do cliente especificado como um objeto Configuration que usa o mapeamento de arquivo e nível de usuário especificados.

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel, Boolean)

Abre o arquivo de configuração do cliente especificado como um objeto Configuration que usa o mapeamento de arquivo, nível de usuário e opção de pré-carga especificados.

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel)

Origem:
ConfigurationManager.cs
Origem:
ConfigurationManager.cs
Origem:
ConfigurationManager.cs

Abre o arquivo de configuração do cliente especificado como um objeto Configuration que usa o mapeamento de arquivo e nível de usuário especificados.

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

Parâmetros

fileMap
ExeConfigurationFileMap

O arquivo de configuração a ser usado em vez do arquivo de configuração padrão do aplicativo.

userLevel
ConfigurationUserLevel

Um dos valores de enumeração que especifica o nível de usuário para o qual você está abrindo a configuração.

Retornos

O objeto de configuração.

Exceções

Não foi possível carregar um arquivo de configuração.

Exemplos

O exemplo de código a seguir mostra como usar o OpenMappedExeConfiguration método para obter todas as seções contidas no arquivo de configuração.


   // 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

Comentários

O ConfigurationUserLevel objeto determina o local do arquivo de configuração que está sendo aberto. Ele indica se o arquivo não tem nível de usuário (o arquivo de configuração está no mesmo diretório que o aplicativo) ou tem um nível por usuário (o arquivo de configuração está em um caminho de configurações de aplicativo determinado por userLevel).

Observação

Para obter o Configuration objeto de um recurso, seu código deve ter permissões de leitura em todos os arquivos de configuração dos quais ele herda as configurações. Para atualizar um arquivo de configuração, seu código também deve ter permissões de gravação para o arquivo de configuração e o diretório no qual ele existe.

Confira também

Aplica-se a

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel, Boolean)

Origem:
ConfigurationManager.cs
Origem:
ConfigurationManager.cs
Origem:
ConfigurationManager.cs

Abre o arquivo de configuração do cliente especificado como um objeto Configuration que usa o mapeamento de arquivo, nível de usuário e opção de pré-carga especificados.

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

Parâmetros

fileMap
ExeConfigurationFileMap

O arquivo de configuração a ser usado em vez do arquivo de configuração de aplicativo padrão.

userLevel
ConfigurationUserLevel

Um dos valores de enumeração que especifica o nível de usuário para o qual você está abrindo a configuração.

preLoad
Boolean

true para pré-carregar todos os grupos de seções e seções; caso contrário, false.

Retornos

O objeto de configuração.

Exceções

Não foi possível carregar um arquivo de configuração.

Comentários

O ConfigurationUserLevel objeto determina o local do arquivo de configuração que está sendo aberto. Ele indica se o arquivo não tem nível de usuário (o arquivo de configuração está no mesmo diretório que o aplicativo) ou tem um nível por usuário (o arquivo de configuração está em um caminho de configurações de aplicativo determinado por userLevel).

Observação

Para obter o Configuration objeto de um recurso, seu código deve ter permissões de leitura em todos os arquivos de configuração dos quais ele herda as configurações. Para atualizar um arquivo de configuração, seu código também deve ter permissões de gravação para o arquivo de configuração e o diretório no qual ele existe.

Para obter um exemplo de código, consulte a OpenMappedExeConfiguration sobrecarga.

Aplica-se a