5

मैं कॉन्फ़िगरेशन सेटिंग्स को संग्रहीत करने के लिए वहां कुछ बेहतरीन प्रथाओं के बारे में सोच रहा हूं। मान लीजिए कि आपके पास कई एप्लिकेशन में कुछ सेटिंग्स साझा की गई हैं। मैंने इन प्रकार की सेटिंग्स को स्टोर करने के लिए अच्छे और बुरे तरीकों को सुना है जिन्हें साझा करने की आवश्यकता है (एक्सएमएल फाइलें)।कॉन्फ़िगरेशन सेटिंग्स पर सर्वोत्तम अभ्यास

बस सोच रहा है कि आसान तैनाती के लिए बिल्ड में ऐप सेटिंग्स को बनाए रखने के मामले में एक अच्छा मानक क्या है।

मुझे लगता है मैं 2 परिदृश्य से इस पर देख रहा हूँ लगता है:

  1. घर में एक आवेदन (चाहे वह एक बड़ी .com या छोटे व्यवस्थापक ऐप है)।
  2. दूसरों के उपभोग करने के लिए एक एपीआई बनाते समय, कॉन्फ़िगरेशन सेटिंग्स का संदर्भ कैसे लें जब आप नहीं जानते कि अंतिम मूल्य उपभोक्ता से क्या होगा जो आपके एपीआई का उपयोग उनके एप्लिकेशन में करेगा।

जोड़ा -1:

धन्यवाद। मैंने डरावनी कहानियां सुनाई हैं जहां कुछ स्थानों में कई अनुप्रयोगों में एक नाइजमेयर कॉन्फ़िगरेशन सेटिंग्स का प्रबंधन होता है। मैं एक बिल्ड लड़का नहीं हूं इसलिए मुझे नहीं पता कि क्यों मैं निश्चित रूप से यह सुनिश्चित करने की कोशिश करना चाहता हूं कि मैं इसे web.config बनाम कस्टम कॉन्फ़िगरेशन फाइलों आदि के संदर्भ में समझता हूं।

जोड़ा -2:

और जब आप कोई एपीआई पैदा कर रहे सेवन किया जा करने के लिए के बारे में क्या। आपने एक क्लास को कुछ कॉन्फ़िगरेशन जानकारी खींचने जा रही है, लेकिन उन एंडपॉइंट्स (गुणों) को परिभाषित नहीं किया जाता है जब तक क्लाइंट आपके एपीआई (विशेष रूप से सी #/.NET) का उपभोग नहीं करता है? आप कहां और कैसे गुणों को सेट कर सकते हैं, कॉन्फ़िगरेशन क्लास कहें जो आप "एप्लिकेशनडिफिनिशन" जैसे बनाते हैं?

+0

आपको वास्तव में कुछ जानकारी प्रदान करना है कि यह किस पर्यावरण के लिए है। अन्यथा यह सवाल सिर्फ 1000 दिशाओं में उड़ाएगा। – krosenvold

उत्तर

1

यदि यह कई अनुप्रयोगों में है, तो आप सेटिंग्स को बहुत सावधानीपूर्वक रख सकते हैं।

या आपके पास एक अलग सामान्य कॉन्फ़िगरेशन सेटिंग रिपोजिटरी फ़ाइल हो सकती है जो हर बार जब आप अपना वेब एप्लिकेशन/समाधान बनाते हैं तो एक नया web.config उत्पन्न करने के लिए उपयोग किया जाता है और उपयोग किया जाता है।

+0

आप कौन सा मंच मान रहे हैं? Machine.config फ़ाइल या web.config फ़ाइल कहां संग्रहीत है? –

+0

क्षमा करें ... यह .NET के लिए विशिष्ट है – Kon

0

मैं क्या करने की कोशिश अलग कॉन्फ़िग सेटिंग्स है कि अलग-अलग फ़ाइलों में विभिन्न वातावरण, तार्किक कार्यों की ओर से आयोजित करने के लिए तैनाती के लिए अलग होगा, और फिर तैनाती स्क्रिप्ट में इन फ़ाइलों को शामिल नहीं है ...

हैं आप .NET में कोडिंग कर रहे हैं, फिर कई ऐप्स में सामान्य सेटिंग्स को मशीन.config में संग्रहीत किया जा सकता है ... फिर, उन्हें सीधे machine.config में न रखें, लेकिन एक अलग फ़ाइल का संदर्भ बनाएं एक अलग परिभाषित कॉन्फ़िगरेशन और configSource = "" विशेषता, उस अलग फ़ाइल के अप्रत्यक्ष संदर्भ बनाने के लिए ...

1

हमें एकाधिक यूएटी (उपयोगकर्ता स्वीकृति परीक्षण), उत्पादन, विकास का समर्थन करना है ओपमेंट और आपदा रिकवरी वातावरण।

आदर्श रूप में यह सूचना सभी एक विशाल LDAP सर्वर में होगा ..

असली दुनिया में हम एक चींटी काम के लिए एक templating इंजन के रूप में जकार्ता-वेग का उपयोग करता है लिखा है। यह एक ही टेम्पलेट फ़ाइल से कई फाइलें (यूएटी, डीवी, प्रोड, डीआर) उत्पन्न करता है।

हमारे पास एक केंद्रीय फ़ाइल है जिसका उपयोग सभी सामान्य सामानों और व्यक्तिगत अनुप्रयोगों के लिए छोटी फ़ाइलों के लिए किया जाता है। किसी एक ऐप के लिए कमांड लाइन को यह जानने की जरूरत है कि यह एक यूएटी/डीवी .. सिस्टम इत्यादि है जो चल रहा है, फिर यह सामान्य फ़ाइल और ऐप विशिष्ट फ़ाइल में लोड होता है।

यह अभ्यास में बहुत अच्छा काम करता है और हम इसे लगभग 8 वर्षों तक उपयोग कर रहे हैं। मैंने कई अन्य लोगों को अपने सभी वातावरण के लिए एकाधिक ऐप फ़ाइलों को जोड़ने की कोशिश की है और यह सुंदर नहीं है। गलतियाँ अक्सर बनाई जाती हैं।

संबंधित मुद्दे