सेटिंग्स (दोनों .settings सेट और Configuration.AppSettings
से), .config फ़ाइल में संग्रहीत हैं [अन्य सामान के साथ]।
अंतर यह है कि .settings सामान [जिसमें जोड़ दिया गया .NET 2.0/VS2005] परतों सेटिंग्स है कि एक साथ हैं Configuration.AppSettings
केवल आपके तार पुनः प्राप्त करने के लिए मजबूर कर देता है जबकि आप का एक सेट के शीर्ष पर एक जोरदार टाइप किया वर्ग कोई रूपांतरण, और डिफ़ॉल्ट की धारणा नहीं है। (कॉन्फ़िगरेशन क्लास को वास्तव में इसे प्रतिबिंबित करने के लिए एक साइड असेंबली में छोड़ा गया है - आपको सिस्टम में संदर्भ जोड़ने की आवश्यकता है। कॉन्फ़िगरेशन स्पष्ट रूप से अगर आप इसे चाहते हैं)।
आपकी प्रोजेक्ट में एक .settings जोड़ना परिणामस्वरूप घर पर एक app.config जोड़ा जा रहा है यदि आपके पास पहले से कोई नहीं है। प्रत्येक घटक जब आप अपने घटक/एप्लिकेशन के लिए सेटिंग्स की सूची बदलते हैं, तो सेटिंग्स को पढ़ने वाली कक्षा स्वचालित रूप से जेनरेट की जाती है।
की अन्य विशेषताएं। सेटिंग्स कुछ सेटिंग्स को उपयोगकर्ता-विशिष्ट के रूप में निर्दिष्ट करने की क्षमता है (और उपयोगकर्ता-विशिष्ट सेटिंग्स को एक कॉल के साथ सहेजने के लिए)।
सभी का उपयोग करने का सबसे अच्छा कारण। सेटिंग्स आमतौर पर यह स्पष्ट करने की क्षमता प्राप्त करती हैं कि गुणों के उपयोग के बाद कोड आधार में कौन सी सेटिंग का उपयोग कर रहा है (और प्रत्येक सेट XML फ़ाइल में एक अलग ब्लॉक है) । Configuration.appSettings
इसकी प्रकृति में अधिक वैश्विक है - यह केवल गुणों का एक बैग है और आप नहीं जानते कि कौन सी डीएलएल, उपप्रणाली या कक्षा किसी विशेष सेटिंग प्रविष्टि पर निर्भर करती है। बहुत अधिक के लिए this blog post from Steven Smith देखें।
अंत में, यदि आपने अभी भी सेटिंग प्रबंधन के बारे में पर्याप्त नहीं पढ़ा है, तो आप this Rick Strahl post on the subject को पूर्णता या विचारों और कोणों की पूर्ण मात्रा के लिए हरा नहीं देंगे।
ASIDE: ASP.NET vNext Configuration सामान भी है, outlined in this article जो काफी लचीला है और कॉन्फ़िगरेशन सेटिंग प्रबंधन पर एक अलग कोण प्रदान करता है।
स्रोत
2009-05-26 09:05:40
उत्तर के लिए धन्यवाद। बस एक बिंदु के बारे में उलझन में: 2 प्रकार की सेटिंग्स हैं।एक ऐप सेटिंग है और दूसरा उपयोगकर्ता सेटिंग है। यदि कॉन्फ़िगरेशन फ़ाइल में दोनों प्रकार की सेटिंग्स संग्रहीत की जाती हैं, तो अलग-अलग उपयोगकर्ताओं के लिए उपयोगकर्ता सेटिंग्स अलग-अलग कैसे होंगी? – Hemant
इसका उल्लेख छोड़ने के लिए खेद है। उपयोगकर्ता सेटिंग्स डिफ़ॉल्ट कारण मौजूद है (यदि उपयोगकर्ता ने अभी तक ऐप का उपयोग नहीं किया है, तो डिफ़ॉल्ट परिवर्तन तब तक लागू होता है जब तक कोई परिवर्तन सहेजा नहीं जाता है)। उपयोगकर्ता सेटिंग्स उपयोगकर्ता की प्रोफ़ाइल (उपयोगकर्ता \ XXX) निर्देशिका में एक अलग कॉन्फ़िगरेशन फ़ाइल में संग्रहीत हैं। उपयोगकर्ता सेटिंग्स को भी अपडेट किया जा सकता है (सिस्टम वाले डिफ़ॉल्ट एपीआई का उपयोग नहीं कर सकते हैं और नहीं करना चाहिए - वे प्रोग्राम फाइलों में रहते हैं और वहां कई उपयोगकर्ता पहुंच को सुरक्षित रूप से नियंत्रित करना संभव नहीं है।) –
कॉन्फ़िगरेशन मैनेजर यह सब कहाँ फिट करता है? मैं कोशिश कर रहा हूं कि मुझे यह कहने में असफल रहा कि मेरी सेटिंग्स कहां हैं। सेटिंग्स क्या रहती हैं और फिर वहां एक खाली कॉन्फ़िगर सहेजें –