यदि आप अपने आवेदन और उपयोगकर्ता सेटिंग्स को प्रबंधित करने के लिए ConfigurationManager
का उपयोग नहीं कर रहे हैं, तो आपको होना चाहिए। .NET Framework में कॉन्फ़िगरेशन टूलकिट उल्लेखनीय रूप से अच्छी तरह से सोचा गया है, और विजुअल स्टूडियो टूल्स जो इसके साथ इंटरऑपरेट करते हैं।
ConfigurationManager
का डिफ़ॉल्ट व्यवहार सही जगहों पर इनवेरिएंट (एप्लिकेशन) और संशोधित (उपयोगकर्ता) सेटिंग्स दोनों रखता है: एप्लिकेशन सेटिंग्स एप्लिकेशन फ़ोल्डर में जाती हैं, और उपयोगकर्ता सेटिंग्स System.Environment.SpecialFolder.LocalApplicationData
में जाती हैं। यह विंडोज के सभी संस्करणों के तहत ठीक से काम करता है जो .NET का समर्थन करता है।
लॉग फ़ाइलों के लिए, System.Environment.SpecialFolder.LocalApplicationData
आमतौर पर वह जगह है जिसे आप उन्हें रखना चाहते हैं, क्योंकि यह उपयोगकर्ता-लिखने योग्य होने की गारंटी है।
निश्चित रूप से ऐसे मामले हैं जहां आप नहीं करेंगे - उदाहरण के लिए, यदि आप किसी नेटवर्क शेयर में फाइलें लिखना चाहते हैं ताकि आप आसानी से उन्हें दूरस्थ रूप से एक्सेस कर सकें। इसे लागू करने के तरीकों की एक विस्तृत श्रृंखला है, लेकिन उनमें से अधिकतर एक एप्लिकेशन सेटिंग बनाने के साथ शुरू होती है जिसमें साझा फ़ोल्डर का पथ होता है। उनमें से सभी प्रशासन शामिल हैं।
मेरे पास ConfigurationManager
और वीएस टूल्स के बारे में कुछ शिकायतें हैं: वहां से बेहतर उच्च स्तरीय दस्तावेज होने की आवश्यकता है, और वीएस-जेनरेट Settings
कक्षा के बेहतर दस्तावेज़ीकरण की आवश्यकता है। तंत्र द्वारा app.config
फ़ाइल लक्ष्य निर्माण निर्देशिका में अनुप्रयोग कॉन्फ़िगरेशन फ़ाइल में बदल जाती है अपारदर्शी (और सभी के सबसे अक्सर पूछे जाने वाले प्रश्नों में से एक का स्रोत: "मेरे कनेक्शन स्ट्रिंग के साथ क्या हुआ?")। और यदि ऐसी सेटिंग्स बनाने का कोई तरीका है जिनके पास डिफ़ॉल्ट मान नहीं हैं, तो मुझे यह नहीं मिला है।
स्रोत
2008-11-06 20:03:41
यह भी देखें [यह प्रश्न] (http://stackoverflow.com/questions/1556082/as-a-developer-how-should-i-use-the-special- फ़ोल्डर्स-in- Vista-and-windows- 7) –