दिलचस्प पोस्ट
सी # लेम्दा अभिव्यक्ति: मुझे उनका उपयोग क्यों करना चाहिए? SQL सर्वर पर स्ट्रिंग के लिए varbinary प्रपत्र के समापन ईवेंट पर पृष्ठभूमिवर्कर कैसे रोकें? क्या जावास्क्रिप्ट में ऑब्जेक्ट घोषित होने के दौरान मैं अन्य प्रॉपर्टी का संदर्भ दे सकता हूं? जहां क्लॉज में स्ट्रिंग्स की सूची बनाने के लिए कॉमा से अलग स्ट्रिंग पार्स करें कैसे। Htaccess में RewriteBase काम करता है Laravel 5.2 सत्यापन त्रुटि ब्लेड में प्रकट नहीं हुई GlReadPixels () से OpenCV :: Mat का डेटा परिवर्तित करना पृष्ठभूमि पर चलने वाले आईफोन ऐप को कैसे पूरी तरह से चालू रखना है I 2 डी सरणी QPushButton पर QPushButton का सूचकांक प्राप्त करें लैम्ब्डा अभिव्यक्ति में पैरामीटर को बदलें मैं रेलिंग माइग्रेशन पर रूबी पर एक कॉलम अनूठा कैसे बना सकता हूं? ऑब्जेक्ट मेमोरी एड्रेस एक्सेस करना ज़िप के अंदर फ़ाइलों को पथ के बिना ज़िप बनाने के लिए php कैसे कार्टून- ify एक छवि प्रोग्राम है?

कॉन्फ़िगरेशन प्रबंधक सेटिंग्स को नहीं सहेजता है

यह कोड मैं उपयोग कर रहा हूं:

private void SaveConfiguration() { if (txtUsername.Text != "" && txtPassword.Text != "") { ConfigurationManager.AppSettings["Username"] = txtUsername.Text; ConfigurationManager.AppSettings["Password"] = txtPassword.Text; MessageBox.Show("Su configuracion guardo exitosamente.", "Exito!"); this.Close(); } else { MessageBox.Show("Por favor lleno los campos.", "Error."); } } 

अब, सेटिंग्स बनी रहती हैं लेकिन जब मैं अनुप्रयोग बंद करता हूं और इसे फिर से चलाने के लिए F5 दबाता हूं, तो मान को ऐप.कॉन्ग फ़ाइल में टाइप किया जाता है। कोई सुझाव?

वेब के समाधान से एकत्रित समाधान "कॉन्फ़िगरेशन प्रबंधक सेटिंग्स को नहीं सहेजता है"

मुझे लगता है कि आपको सेव विधि को कॉल करना चाहिए

 ConfigurationManager.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); 

संपादित करें

सहेजने में सक्षम होने के लिए आपको OpenExeConfiguration विधि द्वारा लौटा एक कॉन्फ़िगरेशन ऑब्जेक्ट का उपयोग करना होगा

 //Create the object Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); //make changes config.AppSettings.Settings["Username"].Value = txtUsername.Text; config.AppSettings.Settings["Password"].Value = txtPassword.Text; //save to apply changes config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); 

यहां अधिक संदर्भ कॉन्फ़िगरेशन प्रबंधक वर्ग

जब आप F5 के साथ अपना आवेदन चलाते हैं,

  • आपका कोड संकलित है,
  • निष्पादन योग्य आपके स्रोत कोड निर्देशिका की bin या bin\Debug उपनिर्देशिका में कॉपी की जाती है,
  • आपके yourexecutable.exe.config को उस निर्देशिका में आप के रूप में प्रतिलिपि yourexecutable.exe.config गया है। yourexecutable.exe.config , और
  • आपके निष्पादन योग्य उस निर्देशिका में शुरू हो गया है

इस प्रकार, आपका अनुप्रयोग bin या bin\Debug निर्देशिका में yourexecutable.exe.config का उपयोग करता है, और यह है कि ConfigurationManager yourexecutable.exe.config को सहेजता है, आपके स्रोत कोड निर्देशिका में नहीं। यह आपके आवेदन की तैनाती के बाद एक मुद्दा नहीं होगा, क्योंकि उसके बाद, आप परिनियोजन निर्देशिका में परिवर्तन yourexecutable.exe.config पर yourexecutable.exe.config , जो कि आप क्या चाहते हैं।

दूसरे जवाब पर एपेटेरे की टिप्पणी के अलावा:

यह भी ध्यान रखें कि यदि आप डिबगिंग कर रहे हैं (और vshost प्रक्रिया को अक्षम नहीं किया है), तब जब आपका एप्लिकेशन बंद हो जाता है, तो आप योग्य नहीं है। Vshost.exe.config को फिर से yourexecutable.exe.config से बदला जाएगा।

तो एक बार फिर, आप बाद में किए गए कोई भी परिवर्तन नहीं देख सकते हैं! (यदि आप डिबगिंग करते समय ब्रेकपॉइंट पर रोकते हैं और अपने संशोधन और कॉलिंग रिफ्रेश सेक्शन के बाद फाइल में देखें तो आपको अपने परिवर्तन दिखाई देंगे)।

यह बहुत भ्रामक है यदि आप एक प्रोग्राम डिबग कर रहे हैं जो एक सेटिंग को देखता है और यदि मौजूद नहीं है, तो यह लिखता है। यहां तक ​​कि अगर आप सेटिंग को दूसरी बार कार्यक्रम चलाने की अपेक्षा करने के बारे में आगाह कर रहे हैं, तो यह उम्मीद कर सकता है कि वह कार्यक्रम के पहले भाग के बाद और दूसरे रन से पहले हो … अफसोस!

इसके बारे में चिंता करने की कोई बात नहीं है क्योंकि यह सब सिर्फ तब काम करता है जब आवेदन को तैनात किया जाता है या बिन से सीधे शुरू हो जाता है क्योंकि दूसरों ने पहले ही कहा है …

लेकिन यह 'जाल' में पड़ना संभव है, यद्यपि आप अपने प्रोग्राम को डिबग कर रहे हैं और पहली बार ऐप्लीकेशन सेटिंग्स का उपयोग करने का निर्णय लेते हैं, और एक्सएमएल को लिखने से बचने के लिए आप तय करते हैं कि आप कोड से शुरू करेंगे और कार्यक्रम को प्राप्त करेंगे सभी चीजें प्राप्त करने के लिए एक सेटिंग लिखिए, फिर शायद कई और अधिक जोड़ दें