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
Lepaskan: 2025-01-03 10:47:41
asal
1009 orang telah melayarinya

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();
    }
}
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan