كيفية تخزين أزواج قيمة المفتاح في إعدادات التطبيق في وقت التشغيل؟

StackOverflow https://stackoverflow.com/questions/179063

  •  05-07-2019
  •  | 
  •  

سؤال

وكيف يمكن تخزين ديناميكية أزواج قيمة مفتاح الأجسام في app.config في استخدام واجهة برمجة إعدادات التطبيق، في وقت التشغيل؟

ولقد كنت تحاول الحصول على رأسي حولها، وأنا لا يمكن العثور على أي سبيل المثال أو وثائق ذات مغزى.

وأنا يبدو أن فصول القاموس صافي لا يمكن إجراء تسلسل في XML تخزينها في app.config

وهذه هي الطريقة الوحيدة للقيام بذلك باستخدام XML مخصصة فصول متسلسلة، أم أن هناك أي وسائل أخرى؟

هل كانت مفيدة؟

المحلول 2

وبعد بعض الشباك مزيد من البحث، لقد وجدت مقالة جيدة جدا (وإن كان طويلا جدا) الذي يصف في قسم نموذج التكوين صافي:

إن كشف أسرار NET 2.0 تكوين

وكما أنني وجدت شيئا مفيدة جدا:

القسم تكوين مصمم

واستوديو البصرية واضاف لتصميم بصريا أقسام التكوين وتوليد ملفات XSD coresponging. وآمل أن يجد هذا مفيد.

نصائح أخرى

وأنت يجب أن تكون قادرة على القيام بشيء من هذا القبيل:

// Open App.Config of executable
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

// Add an Application Setting with a name Key and a Value stored in variable called Value
config.AppSettings.Settings.Add("Key", Value );

// Save the changes in App.config file.
config.Save(ConfigurationSaveMode.Modified);

ولقد اعتقدت دائما كان يعتبر من الممارسات السيئة لتغيير app.config أثناء وقت التشغيل. يجب استخدام app.config لإعداد برنامج والتكوين. لا للأشياء التي هي دينامية أن تطبيق يتم تعديل في الواقع.

وأقترح عليك إنشاء منفصلة ملف "KeyValue.xml" عن الكائنات الحيوية.

واعتمادا على ما تحتاج إليه بالتحديد، قد حاولت System.Collections.ObjectModel.KeyedCollection . هذا يعمل فقط إذا كنت يمكن أن تجنيها مفتاح عنصر من العنصر نفسه، ولكن في هذه الحالة، لا بأس لهذا الغرض.

هل من قاموس عام؟ إذا كان الأمر كذلك:

XML تسلسل عام قاموس

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top