Maison >développement back-end >C++ >Pourquoi la modification des valeurs App.Config avec ConfigurationManager.AppSettings.Set ne conserve-t-elle pas les modifications ?

Pourquoi la modification des valeurs App.Config avec ConfigurationManager.AppSettings.Set ne conserve-t-elle pas les modifications ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-03 10:47:41936parcourir

Why Doesn't Changing App.Config Values with ConfigurationManager.AppSettings.Set Persist the Changes?

La valeur App.Config ne peut pas être modifiée

Le fichier App.Config est un fichier XML qui stocke les paramètres de configuration pour une application .NET. Ces paramètres sont accessibles au moment de l'exécution à l'aide de la classe ConfigurationManager.

Un problème courant est que les modifications apportées à la section AppSettings à l'aide de ConfigurationManager.AppSettings.Set ne persistent pas dans le App.Config réel. déposer. En effet, AppSettings.Set modifie uniquement les valeurs en mémoire et ne les enregistre pas dans le fichier.

Pour conserver les modifications, il faut les enregistrer explicitement à l'aide de Configuration.Save(). Voici un exemple en C# :

using System.Configuration;

public static class ConfigHelper
{
    public static void UpdateSetting(string key, string value)
    {
        Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
        configuration.AppSettings.Settings[key].Value = value;
        configuration.Save();
    }
}

Ce code modifie non seulement la valeur en mémoire, mais l'enregistre également dans le fichier App.Config.

Notes supplémentaires :

  • Assurez-vous que l'exécutable n'est pas exécuté à partir de Visual Studio débogueur, car cela peut écraser le fichier App.Config.
  • Le fichier App.Config mis à jour se trouve dans le répertoire de sortie de l'application sous le nom YourApplicationName.exe .config.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn