كيفية التغيير في إعدادات تطبيق وقت التشغيل
-
23-08-2019 - |
سؤال
أحاول التغيير في وقت التشغيل مفتاح واحد من ملف إعدادات التطبيقات الخاصة بي، لكنه لا يعمل.
أفعل بهذه الطريقة:
ConfigurationSettings.AppSettings["XPTO"] = "HELLO";
يبدو أنه يتغير فقط في الذاكرة، وليس على الملف.
هل يعرف أحد كيفية القيام بذلك؟
شكرا.
المحلول
إلقاء نظرة على بلدي نظرة عامة على ملفات الإعدادات .NET... باختصار، أعتقد أنك تريد إعداد استبدال المستخدم. سوف تتصرف أكثر مما تتوقع.
يحرر: إذا كنت تستخدم مصمم الإعدادات في Visual Studio, ، ثم قم ببساطة بتغيير "النطاق" إلى "المستخدم". إذا لم يكن الأمر كذلك، يجب أن تكون قادرا على القيام بالكثافة برمجيا.
نصائح أخرى
ملف appsettings غير مصمم ليكون قابل للكتابة. وهي مصممة لتخزين التكوينات التي لن تتغير في وقت التشغيل ولكن قد تتغير مع مرور الوقت IE: سلاسل اتصال DB، عنوان URL لخدمة الويب، إلخ.
لذلك، في حين أنه قد يكون من الممكن تحديث الملف في الواقع، يجب عليك إعادة فهم إذا تم تخزين هذه القيمة هناك.
على افتراض أن التطبيق الخاص بك لديه أذونات الكتابة على الملف ...
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); // the config that applies to all users
AppSettingsSection appSettings = config.AppSettings;
if (appSettings.IsReadOnly() == false)
{
appSettings("Key").Value = "new value";
config.Save();
}
أنا أتجاهل كل الاستثناءات المحتملة التي يمكن إلقاؤها ...