أفضل نهج لتهيئة تطبيقات Net.net متعددة

لدينا مجموعة من تطبيقات .Net 3.5 المترابطة. بعضها مواقع ويب ، بعضها خدمات ويب ، وبعضها تطبيقات windows. يحتوي كل تطبيق حاليًا على ملف التهيئة الخاص به (app.config أو web.config) ، ويوجد حاليًا بعض المفاتيح المكررة عبر ملفات التهيئة (والتي يتم الاحتفاظ بها في الوقت الحالي متزامنة يدويًا) نظرًا لأن التطبيقات المتعددة تتطلب نفس قيمة التهيئة. أيضا ، يتم نشر هذا التطبيق من التطبيقات عبر مختلف envrionemnts (ديف ، الاختبار ، العيش الخ)

ما أفضل طريقة لإدارة تكوين هذه التطبيقات المتعددة من مصدر تهيئة واحد ، بحيث يمكن مشاركة قيم التكوين بين تطبيقات متعددة إذا لزم الأمر؟ نود أيضًا أن يكون لديك تهيئات منفصلة لكل بيئة (لذلك عند النشر ، لن تضطر إلى تغيير قيم تهيئة معينة يدويًا تكون خاصة بالبيئة مثل سلاسل conenction) ، ولكن في نفس الوقت لا تريد الحفاظ على تعدد كبير للتهيئة الملفات (واحد لكل بيئة) مع الحفاظ على هذا المزامنة عند إضافة مفاتيح التكوين الجديدة سوف تكون مزعجة.

0
وأضاف تحرير
الآراء: 1

5 إجابة

يمكنك تقسيم App.config إلى ملفات تهيئة متعددة. ما عليك سوى تحديد اسم الملف الذي يحتوي على قسم التهيئة.

تغيير app.config:


  
  


  

إلى app.config و SomeSetting.xml:



حيث يحتوي SomeSetting.xml على:

الآن يمكنك إنشاء app.config الخاص بك من ملفات المقاطع المختلفة مع نوع من بناء أو نشر البرنامج النصي. على سبيل المثال:

if debug copy SomeSettingDebug.xml deploydir/SomeSetting.xml
if MySql copy OtherSectionMySql.xml deploydir/OtherSetting.xml
0
وأضاف

يحتوي Visual Studio على ميزة غامضة نسبيًا تتيح لك إضافة عناصر موجودة كروابط ، والتي يجب أن تحقق ما تبحث عنه. راجع مشاركة Derik Whittaker حول هذا الموضوع لمزيد من التفاصيل.

يجب على Visual Studio حقًا جعل هذا الخيار أكثر وضوحًا. لا أحد يفكر في النقر على هذا السهم الصغير بجوار الزر "إضافة".

0
وأضاف

تحقق من إطار المنشور من مجموعة أنماط وممارسات Microsofts؟

0
وأضاف
كيف يمكن أن يساعد المنشور في مشاكل التكوين؟
وأضاف المؤلف Robert MacLean, مصدر

نستخدم قوالب ملف مثل MyApp.config.template و MyWeb.config.template مع خصائص NAnt للبت المختلفة بين البيئات. لذلك قد يبدو ملف القالب قليلاً مثل هذا:


    ${DbConnString}
    

أثناء الإنشاء ، نولد جميع التهيئات للبيئات المختلفة من خلال التكرار عبر كل بيئة في برنامج نصي NAnt ، وتغيير قيمة خصائص NAnt $ {DbConnString} و $ {WebServiceUri} لكل بيئة (في الواقع يتم تعيين هذه كلها في ملف واحد مع أقسام لكل بيئة) ، والقيام نسخة NAnt مع خيار لتوسيع خصائص تشغيل.

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

0
وأضاف
0
وأضاف
لا أعرف سبب حصول ذلك على سلبية ، فهذه الأسئلة 2 ستكون مفيدة جدًا عند إدارة عمليات التهيئة.
وأضاف المؤلف sontek, مصدر