ConfigurationManager.OpenMappedExeConfiguration Metoda

Definicja

Otwiera określony plik konfiguracji klienta jako Configuration obiekt.

Przeciążenia

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel)

Otwiera określony plik konfiguracji klienta jako Configuration obiekt, który używa określonego mapowania plików i poziomu użytkownika.

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel, Boolean)

Otwiera określony plik konfiguracji klienta jako Configuration obiekt, który używa określonej opcji mapowania plików, poziomu użytkownika i wstępnego ładowania.

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel)

Otwiera określony plik konfiguracji klienta jako Configuration obiekt, który używa określonego mapowania plików i poziomu użytkownika.

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

Parametry

fileMap
ExeConfigurationFileMap

Plik konfiguracji do użycia zamiast domyślnego pliku konfiguracji aplikacji.

userLevel
ConfigurationUserLevel

Jedna z wartości wyliczenia, która określa poziom użytkownika, dla którego otwierasz konfigurację.

Zwraca

Configuration

Obiekt konfiguracji.

Wyjątki

Nie można załadować pliku konfiguracji.

Przykłady

Poniższy przykład kodu przedstawia sposób użycia OpenMappedExeConfiguration metody w celu uzyskania wszystkich sekcji zawartych w pliku konfiguracji.


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

Uwagi

Obiekt ConfigurationUserLevel określa lokalizację otwieranego pliku konfiguracji. Wskazuje, czy plik nie ma poziomu użytkownika (plik konfiguracji znajduje się w tym samym katalogu co aplikacja) lub ma poziom na użytkownika (plik konfiguracji znajduje się w ścieżce ustawień aplikacji określonej przez userLevel).

Uwaga

Aby uzyskać Configuration obiekt dla zasobu, kod musi mieć uprawnienia do odczytu dla wszystkich plików konfiguracji, z których dziedziczy ustawienia. Aby zaktualizować plik konfiguracji, kod musi dodatkowo mieć uprawnienia do zapisu zarówno dla pliku konfiguracji, jak i katalogu, w którym istnieje.

Zobacz też

Dotyczy

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel, Boolean)

Otwiera określony plik konfiguracji klienta jako Configuration obiekt, który używa określonej opcji mapowania plików, poziomu użytkownika i wstępnego ładowania.

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

Parametry

fileMap
ExeConfigurationFileMap

Plik konfiguracji do użycia zamiast domyślnego pliku konfiguracji aplikacji.

userLevel
ConfigurationUserLevel

Jedna z wartości wyliczenia, która określa poziom użytkownika, dla którego otwierasz konfigurację.

preLoad
Boolean

true aby wstępnie załadować wszystkie grupy i sekcje sekcji; w przeciwnym razie , false.

Zwraca

Configuration

Obiekt konfiguracji.

Wyjątki

Nie można załadować pliku konfiguracji.

Uwagi

Obiekt ConfigurationUserLevel określa lokalizację otwieranego pliku konfiguracji. Wskazuje, czy plik nie ma poziomu użytkownika (plik konfiguracji znajduje się w tym samym katalogu co aplikacja) lub ma poziom na użytkownika (plik konfiguracji znajduje się w ścieżce ustawień aplikacji, która jest określana przez userLevelprogram ).

Uwaga

Aby uzyskać Configuration obiekt dla zasobu, kod musi mieć uprawnienia do odczytu dla wszystkich plików konfiguracji, z których dziedziczy ustawienia. Aby zaktualizować plik konfiguracji, kod musi dodatkowo mieć uprawnienia do zapisu zarówno dla pliku konfiguracji, jak i katalogu, w którym istnieje.

Aby zapoznać się z przykładem kodu, zobacz OpenMappedExeConfiguration przeciążenie.

Dotyczy