Freigeben über


ConfigurationManager.OpenMappedExeConfiguration Methode

Definition

Öffnet die angegebene Clientkonfigurationsdatei als Configuration-Objekt.

Überlädt

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel)

Öffnet die angegebene Clientkonfigurationsdatei als Configuration-Objekt mithilfe der angegebenen Dateizuordnung und Benutzerebene.

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel, Boolean)

Öffnet die angegebene Clientkonfigurationsdatei als Configuration-Objekt mithilfe der angegebenen Dateizuordnung, Benutzerebene und Vorladeoption.

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel)

Quelle:
ConfigurationManager.cs
Quelle:
ConfigurationManager.cs
Quelle:
ConfigurationManager.cs

Öffnet die angegebene Clientkonfigurationsdatei als Configuration-Objekt mithilfe der angegebenen Dateizuordnung und Benutzerebene.

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

Parameter

fileMap
ExeConfigurationFileMap

Die Konfigurationsdatei, die statt der Standard-Anwendungskonfigurationsdatei verwendet werden soll.

userLevel
ConfigurationUserLevel

Einer der Enumerationswerte, der die Benutzerebene angibt, für die Sie die Konfiguration öffnen.

Gibt zurück

Konfigurationsobjekt.

Ausnahmen

Eine Konfigurationsdatei konnte nicht geladen werden.

Beispiele

Das folgende Codebeispiel zeigt, wie Sie die OpenMappedExeConfiguration -Methode verwenden, um alle Abschnitte abzurufen, die in der Konfigurationsdatei enthalten sind.


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

Hinweise

Das ConfigurationUserLevel -Objekt bestimmt den Speicherort der zu öffnenden Konfigurationsdatei. Es gibt an, ob die Datei keine Benutzerebene hat (die Konfigurationsdatei befindet sich im selben Verzeichnis wie die Anwendung) oder eine Benutzerebene (die Konfigurationsdatei befindet sich in einem anwendungsspezifischen Einstellungspfad, der von bestimmt wird userLevel).

Hinweis

Um das Configuration Objekt für eine Ressource abzurufen, muss Ihr Code über Leseberechtigungen für alle Konfigurationsdateien verfügen, von denen er Einstellungen erbt. Um eine Konfigurationsdatei zu aktualisieren, muss Ihr Code zusätzlich über Schreibberechtigungen für die Konfigurationsdatei und das Verzeichnis verfügen, in dem er sich befindet.

Weitere Informationen

Gilt für:

OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel, Boolean)

Quelle:
ConfigurationManager.cs
Quelle:
ConfigurationManager.cs
Quelle:
ConfigurationManager.cs

Öffnet die angegebene Clientkonfigurationsdatei als Configuration-Objekt mithilfe der angegebenen Dateizuordnung, Benutzerebene und Vorladeoption.

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

Parameter

fileMap
ExeConfigurationFileMap

Die Konfigurationsdatei, die statt der Standard-Anwendungskonfigurationsdatei verwendet werden soll.

userLevel
ConfigurationUserLevel

Einer der Enumerationswerte, der die Benutzerebene angibt, für die Sie die Konfiguration öffnen.

preLoad
Boolean

true, um alle Abschnittsgruppen und Abschnitte vorab zu laden, andernfalls false.

Gibt zurück

Konfigurationsobjekt.

Ausnahmen

Eine Konfigurationsdatei konnte nicht geladen werden.

Hinweise

Das ConfigurationUserLevel -Objekt bestimmt den Speicherort der konfigurationsdatei, die geöffnet wird. Es gibt an, ob die Datei keine Benutzerebene hat (die Konfigurationsdatei befindet sich im selben Verzeichnis wie die Anwendung) oder eine Benutzerebene hat (die Konfigurationsdatei befindet sich in einem Anwendungseinstellungspfad, der von userLevelbestimmt wird).

Hinweis

Um das Configuration Objekt für eine Ressource abzurufen, muss Ihr Code über Leseberechtigungen für alle Konfigurationsdateien verfügen, von denen er Einstellungen erbt. Um eine Konfigurationsdatei zu aktualisieren, muss Ihr Code zusätzlich über Schreibberechtigungen für die Konfigurationsdatei und das Verzeichnis verfügen, in dem er sich befindet.

Ein Codebeispiel finden Sie in der OpenMappedExeConfiguration Überladung.

Gilt für: