2011-08-05 11 views
5

इम WCF के बारे में 2 किताबें और उनमें से एक को पढ़ने App.Config रूप विन्यास दिखाया जा रहा है और अन्य दिख रहा है Code in C# के माध्यम सेकौन सी डब्ल्यूसीएफ कॉन्फ़िगरेशन दृष्टिकोण स्मार्ट है?

मुझे पता है कि जो दृष्टिकोण मैं का उपयोग करना चाहिए और क्या एक दूसरे के लिए लाभ हैं चाहता हूँ। क्या डब्ल्यूसीएफ कॉन्फ़िगरेशन विज़ार्ड कॉन्फ़िगरेशन के पीछे सी # कोड का भी समर्थन करता है?

उत्तर के लिए धन्यवाद।

उत्तर

1

मुझे लगता है कि यह आपकी आवश्यकताओं पर निर्भर करता है। मैं व्यक्तिगत रूप से कोड के साथ डब्ल्यूसीएफ को कॉन्फ़िगर करता हूं, खासतौर से ऐसी चीजों के लिए जो कभी भी बदलने की संभावना नहीं है। इसमें त्रुटि हैंडलर/लॉगर, व्यवहार, प्रमाणीकरण मॉड्यूल, सेवा होस्ट कारखानों, आदि शामिल हो सकते हैं

अधिक गतिशील सामग्री जैसे कनेक्शन स्ट्रिंग, पासवर्ड, फ़ाइल पथ इत्यादि .config फ़ाइलों में कॉन्फ़िगर किए गए हैं।

कोड का उपयोग करने का सबसे बड़ा लाभ यह है कि अपने कोड अब आईओसी/निर्भरता इंजेक्शन तरह बातें, आदि का समर्थन कर सकते समय की जाँच संकलन,

मैं विचार में नहीं खरीदते हैं कि सब कुछ एक में होना चाहिए कॉन्फ़िगरेशन फ़ाइल क्योंकि इसे बदलना आसान है। ज्यादातर मामलों में मैंने देखा है कि यह उत्पादन में कभी भी बदलाव नहीं करता है।

1

कॉन्फ़िगरेशन फ़ाइल दृष्टिकोण बेहतर है, यह अधिक लचीलापन देता है। उदाहरण के लिए मैं कॉन्फ़िगरेशन फ़ाइलों को बदलकर प्रमाणीकरण प्रकार (उपयोगकर्ता नाम पासवर्ड/विंडोज़) बदलता हूं।

+0

आप कोड में प्रमाणीकरण प्रकार भी बदल सकते हैं, इसलिए * बिना किसी संदर्भ के * यह वास्तव में उनके बीच चयन करने के लिए बहुत कुछ नहीं देता है –

+0

मैं आपके साथ सहमत हूं, लेकिन अगर मैं डब्ल्यूसीएफ सुरक्षा के बारे में नई चीजें सीखता हूं, तो मैं आसानी से बदल सकता हूं उन्हें मेरे प्रमाणीकरण के लिए कॉन्फ़िगरेशन फ़ाइल के माध्यम से। – croisharp

+0

वास्तविक जीवन में (गंभीर?) परिदृश्य एक कॉन्फ़िगरेशन फ़ाइल में परिवर्तन करता है जो एप्लिकेशन में सभी संचार को प्रभावित करता है, फिर भी उसे जांचने की आवश्यकता होगी जैसे कि यह कोड परिवर्तन था। यदि आपने अपना काम सही तरीके से किया है तो एक डीएल या एक .config फ़ाइल को तैनात करने के बीच * अधिक * अंतर नहीं है –

5

विन्यास फ़ाइलों आईडीई टूलींग से एक समर्थन पुनर्निर्माण (काम, कहते हैं, एक कस्टम निरीक्षक या serializer जोड़ने के लिए), कॉपी करने के लिए बहुत आसान है/क्लाइंट/सर्वर के बीच का पेस्ट, है बिना बदला जा सकता है।

कोड उपयोगी है अगर आप (यानी किसी अन्य सर्वर से जानकारी प्राप्त) क्रम प्रणाली कॉन्फ़िगर कर रहे हैं, या एक पुस्तकालय (dll) के रूप में चल रहे हैं और गारंटी नहीं दे सकते कि एक विन्यास फाइल होगा एक: मौजूद हैं, या बी: अपनी विन्यास है। मस्तिष्क-मृत त्रुटियों (xml आदि में टाइपो) से बचने के लिए कोड में इंटेलिजेंस/स्थैतिक जांच भी होती है।

मैं तब तक एक फ़ाइल का उपयोग करूंगा जब तक आपको पता न हो कि आपके पास एक परिदृश्य है जो फ़ाइल के साथ अच्छी तरह से काम नहीं करता है।

यह भी विचार करें: आपके लिए कॉन्फ़िगरेशन परिवर्तन बनाम कोड परिवर्तन को तैनात करना कितना मुश्किल है? मेरे लिए वे वही हैं, लेकिन यह आपके लिए मामला नहीं हो सकता है। शायद मशीनों पर कॉन्फ़िगरेशन को बदलना आसान है? शायद नहीं।

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