Rumah >pembangunan bahagian belakang >C++ >Mengapa Tidak Menukar Nilai App.Config dengan ConfigurationManager.AppSettings.Set Mengekalkan Perubahan?

Mengapa Tidak Menukar Nilai App.Config dengan ConfigurationManager.AppSettings.Set Mengekalkan Perubahan?

Linda Hamilton
Linda Hamiltonasal
2025-01-03 10:47:41930semak imbas

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

Nilai App.Config Tidak Boleh Ditukar

Fail App.Config ialah fail XML yang menyimpan tetapan konfigurasi untuk aplikasi .NET. Tetapan ini boleh diakses pada masa jalan menggunakan kelas ConfigurationManager.

Satu isu biasa ialah perubahan yang dibuat pada bahagian AppSettings menggunakan ConfigurationManager.AppSettings.Set tidak berterusan kepada App.Config sebenar fail. Ini kerana AppSettings.Set hanya menukar nilai dalam memori dan tidak menyimpannya ke fail.

Untuk meneruskan perubahan, seseorang mesti menyimpannya secara eksplisit menggunakan Configuration.Save(). Berikut ialah contoh dalam 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();
    }
}

Kod ini bukan sahaja menukar nilai dalam memori tetapi juga menyimpannya ke fail App.Config.

Nota Tambahan:

  • Pastikan yang boleh laku tidak dijalankan dari dalam penyahpepijat Visual Studio, kerana ini boleh menimpa fail App.Config.
  • Fail App.Config yang dikemas kini boleh didapati dalam direktori output aplikasi dengan nama YourApplicationName.exe.config.

Atas ialah kandungan terperinci Mengapa Tidak Menukar Nilai App.Config dengan ConfigurationManager.AppSettings.Set Mengekalkan Perubahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn