2010-03-25 11 views
11

डिफ़ॉल्ट सेटिंग्स के द्वारा पर जमा हो जाती है: C:\Documents and Settings\\Local Settings\Application Data\<Project Name> नेट उपयोगकर्ता सेटिंग्स स्थान बदलने के लिए कैसे

मैं अनुप्रयोग निर्देशिका से इस मार्ग को बदल सकते हैं कैसे। मैं अलग-अलग उपयोगकर्ताओं के लिए अलग-अलग फाइल नहीं चाहता हूं। सेटिंग्स को वैश्विक कैसे बनाते हैं?

मैंने सेटिंग्स के दायरे को "एप्लिकेशन" में बदलने की कोशिश की लेकिन फिर मैं उन्हें रनटाइम पर नहीं बदल सकता।

उत्तर

13

Using the default built-in behavior you can't!

प्र: पथ इतना अस्पष्ट है? क्या को बदलने/अनुकूलित करने का कोई तरीका है?

एक: पथ निर्माण एल्गोरिथ्म सुरक्षा, अलगाव और मजबूती के मामले में कुछ कठोर आवश्यकताओं को पूरा करना होता है। हम अनुकूल के उपयोग बनाकर रूप में आसानी से खोज योग्य संभव के रूप में पथ बनाने के लिए कोशिश की, आवेदन तार की आपूर्ति की है, यह पथ पूरी तरह से सरल अन्य एप्लिकेशन के साथ टकराव से जैसे मुद्दों में चालू रखने के लिए बिना संभव नहीं है, स्पूफिंग इत्यादि

लोकलफाइल सेटिंगिंग प्रदाता में फ़ाइलों को बदलने के लिए एक तरीका प्रदान करता है जो सेटिंग्स संग्रहीत हैं। ध्यान दें कि प्रदाता स्वयं कॉन्फ़िगरेशन फ़ाइल स्थानों को पहले स्थान पर निर्धारित नहीं करता है - यह कॉन्फ़िगरेशन सिस्टम है। अगर आपको सेटिंग्स को के लिए किसी अन्य स्थान पर स्टोर करने की आवश्यकता है, तो अनुशंसित तरीका अपने स्वयं के सेटिंग्स प्रदाता लिखना है। यह लागू करने के लिए काफी सरल है और आप .NET 2.0 SDK में नमूने पा सकते हैं जो यह दिखाते हैं कि यह कैसे करें। को ध्यान में रखें, हालांकि आप ऊपर उल्लिखित अलगाव मुद्दों में भाग सकते हैं।

मैं रॉबर्ट हार्वे के जवाब से सहमत यह अपने आप करते हैं, or write a custom settings provider.

+8

में निर्माण यह सिर्फ Dude बेकार उपयोग करने के लिए पसंद करेंगे ... –

1

आप हमेशा अपना खुद का XML configuration files पढ़ और लिख सकते हैं।

+4

हाँ, लेकिन मैं तंत्र – mack369

0

सभी उपयोगकर्ताओं के लिए प्रोग्रामेटिक रूप से बदलती सेटिंग्स के साथ कठिनाइयां हैं (क्योंकि वे exe.config फ़ाइल से आती हैं, जो आम तौर पर प्रोग्राम फ़ाइलों में होती है और इस प्रकार आधुनिक ओएस में लेखन पहुंच से सुरक्षित होती है)। आप सेटिंग्स को व्यापक रूप से बनाने का प्रयास कर सकते हैं लेकिन फिर ConfigurationManager को कॉन्फ़िगरेशन फ़ाइल के साथ गड़बड़ करने के लिए उपयोग करें, इसी प्रकार this question के समाधान के समान।