ما يمكن أن يكون أفضل طريقة أن تستمر المستخدم للتحرير إعدادات ويندوز ؟

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

سؤال

انا تطوير أحد التطبيقات التي سوف تنفذ خدمة Windows وأنا أتساءل ماذا سيكون أفضل طريقة للتعامل مع مختلف الإعدادات (على المستخدم و على مستوى التطبيق).الشيء هو أنني لست على دراية تماما (حتى الآن) مع جميع الخيارات المتاحة ، لذلك من حيث المبدأ أنا صالح .صافي الخاصة النظام.التكوين (ConfigurationManager.RefreshSection("appSettings") يبدو مغريا) ، على الرغم من أنني لم أحدد الصورة كاملة ، أي أين هو التطبيق.التكوين الملف يتم تخزينها على خدمة معينة ، جرا.

سؤالي لكم هو: ما يمكن أن يكون أفضل طريقة لتخزين المستخدم للتحرير تفاصيل التكوين معين ويندوز ؟ شكرا للجميع مقدما على ردود الفعل.

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

المحلول

هممم...'المستخدم للتحرير' تكوين إعدادات خدمة ويندوز...

شيء أن نأخذ في الاعتبار هو أن خدمة Windows يعمل في الخلفية حتى لا يكون وسيلة مباشرة للمستخدمين للتفاعل معها.ما فعلته هذا هو خلق منفصلة التطبيق الأمامية التي تتواصل مع ويندوز باستخدام خدمة WCF.في هذه الطريقة ، 'المستخدم للتحرير' إعدادات التكوين استمرت كجزء من الواجهة الأمامية إعدادات التطبيق ، وليس خدمة Windows.الإعدادات ببساطة إبلاغ خدمة Windows باستخدام سلسلة من WCF الرسائل المستخدم التغييرات عليها.

في حالتي, حتى لقد أضاف NotifyIcon إلى التطبيق الأمامية وأضاف المنطق بحيث التطبيق يمكن إزالتها من شريط المهام عندما يتم تصغير.وهو يعمل بنفس الطريقة إدارة المهام لا عند تشغيل 'إخفاء عند تصغير' الخيار.وهذا يعطي المستخدم الوهم من التفاعل مع الخدمة مباشرة ، على الرغم من أنه هو اثنين مستقلة تماما العمليات.

تحرير:

ردا على تعليقك, WCF هو مجرد المراسلة واجهة برمجة التطبيقات.الرسائل عادة ما يتم تعريف الطبقات مزينة DataContract و DataMember الصفات.على ServiceContract و OperationContract سمات تحديد واجهة خدمة WCF.مرة واحدة وقد تم تعريفها, إنشاء و استضافة خدمة WCF داخل ويندوز الخدمة سهلة.و إذا كان لديك Visual Studio 2008 ، وخلق العميل الوكيل هو الخاطف كما VS2008 يمكن أتمتة ذلك بالنسبة لك.

عندما يتم كل هذا ، الأمامية التطبيق ببساطة instantiates مثيل من جانب العميل الوكيل و استدعاء الأساليب على أن الوكيل.حيث أن كل استدعاء أسلوب, WCF إطار يعتني التسلسلية و إرسال الرسالة إلى خدمة WCF على ذلك التصرف.ثم يسلسل أي رد ، بما في ذلك الاستثناءات العودة إلى الوكيل.من وجهة نظر العميل ، على سبيل المثال ، الأمامية التطبيق, كنت ببساطة الاحتجاج وظيفة.هذا هو الجمال من WCF!انها مشابهة جدا برمجة المقابس, إلا إذا لم يكن لديك لإدارة الاتصالات.WCF تأخذ الرعاية من كل ما السباكة بالنسبة لك.

بالطبع, كل هذا يفترض على الأقل يمكنك استخدام .صافي 3.0.إذا كنت تستخدم Visual Studio 2008, كنت في حالة جيدة.وهنا زوجين من الدروس لمساعدتك على البدء:

مرة واحدة كنت قد المفاهيم الأساسية إلى أسفل ، أنصح تبحث في Juval لوي هو الموقع.هناك الكثير من WCF ذات شعبية هناك أن أجد من المفيد جدا أن ننظر إلى ، على الرغم من انها قليلا أكثر تقدما.فهم WCF المفاهيم أولا قبل الخوض بعيدا جدا هناك.

مرة أخرى, الهدف من هذا هو مساعدة المستخدمين تكوين جوانب مختلفة من الخدمة.إذا كنت لا توفر الواجهة GUI أن أفعل هذا, أنا لست متأكدا كيف أنها سوف تفعل ذلك يدويا التلاعب التطبيق.config نفسها.

ويساعد هذا الأمل.

نصائح أخرى

إذا كنت بحاجة فقط اسم واحد/قيمة القاموس لتخزين الخاص بك معلمات التكوين ، ثم التطبيق.التكوين هو أبسط إجابة.في الحل الخاص بك يسمى "التطبيق.التكوين" ، ولكن عندما بنيت يحصل تغيير اسمها إلى اسم الملف القابل للتنفيذ + ".التكوين".

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