أين يجب تخزين إعدادات التطبيق على مستوى الجهاز للمستخدمين غير التجوال?

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

سؤال

لدي تطبيق وف التي يجب تشغيلها لجميع مستخدمي آلة مع نفس الإعدادات.يجب قراءة/كتابة الإعدادات.لقد سبق تخزين إعدادات تكوين المستخدم في كومونابليكاتيونداتا ، على سبيل المثال

var settingsFile = Path.Combine(Environment.GetFolderPath(
  Environment.SpecialFolder.CommonApplicationData),
    "[company]", "[product]", "settings.xml");

ومع ذلك قرأت هذا الصباح أن CommonApplicationData يستخدم لمحات التجوال ، وهذا يعني أنها ليست آلة محددة.من ما يمكنني العثور عليه ، لدينا الخيارات التالية لبيانات التطبيق (المصدر):

// Store application-specific data for the current roaming user.
// A roaming user works on more than one computer on a network.
// A roaming user's profile is kept on a server on the network and is loaded onto a system ' when the user logs on.
System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);


// Store in-common application-specific data that is used by all users.
System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);


// Store application-specific data that is used by the current, non-roaming user.
System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

للتلخيص ، الخيارات هي

  • مستخدم واحد ، التجوال
  • جميع المستخدمين ، التجوال
  • مستخدم واحد ، غير التجوال

ما أحتاجه هو جميع المستخدمين ، غير التجوال.فكرتي الأولية هي وضع كل شيء في مجلد التثبيت, لكن هذا يبدو قليلا من المدرسة القديمة?

أفكار?

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

المحلول

هنا هو تفسير جيد من مجلد بيانات التطبيقات والعناصر الأخرى المتعلقة بالمستخدم المتجول.

وفقا ل وثائق مسن:

CommonApplicationData هو "الدليل الذي يعمل كمستودع مشترك للبيانات الخاصة بالتطبيق والتي يستخدمها جميع المستخدمين"

بينما

LocalApplicationData هو "الدليل الذي يعمل كمستودع مشترك للبيانات الخاصة بالتطبيق التي يستخدمها المستخدم الحالي غير المتجول".

نصائح أخرى

تفضيلتي لهذا هو إعدادات التطبيق والتي يمكن أن يكون واسعة التطبيقأو لكل مستخدم كما يحلو لك في الإعداد.

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