दिलचस्प पोस्ट
अनारक्षित बफ़र्स के साथ वेक्टरिंग: VMASKMOVPS का उपयोग करना: मिसाइलमेंटमेंट गिनती से एक मास्क उत्पन्न करना? या उस सभी का उपयोग न करें किसी भी लम्बाई के अनुरोधों को अनुमति देने के लिए web.config को कॉन्फ़िगर कैसे करें I क्यों eval के लिए खुला उद्धरण और ब्रैकेट ('(' + jsonString + ')' ') जब json स्ट्रिंग पार्स करते हैं पायथन में कई कन्स्ट्रक्टर बनाने का एक साफ, अजगर तरीका क्या है? यूआरएल PHP के साथ फिर से लिखना सीधे hooking के माध्यम से एक अन्य प्रक्रिया को keystrokes भेजने जीनकिंस के लिए जेनकिंस के भीतर एसएसएच चाबियाँ प्रबंधित करना मैं PHP की स्ट्रिंग में बाइट्स की सरणी कैसे परिवर्तित कर सकता हूं? एक MVC परियोजना के लिए सी # / asp.net में रेज़र आंशिक दृश्य को अपडेट करने के लिए jquery या ajax का उपयोग कैसे करें कमांड कुंजी के लिए jQuery कुंजी कोड सी ++ में ओपनसीवी 2.4 का इस्तेमाल करते हुए उत्तलता की गणना करना आईसीएस 4.0.4 पर सुरक्षित तत्व अभिगम नियंत्रण PowerShell से UTF-8 आउटपुट कन्वर्ट यूटीसी समयक्षेत्र या तारीख को ऑफसेट JsonConvert.DeserializeObject <> (स्ट्रिंग) $ id गुण के लिए शून्य मान देता है

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

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

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 दबाता हूं, तो मान को ऐप.कॉन्ग फ़ाइल में टाइप किया जाता है। कोई सुझाव?

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

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

 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 से बदला जाएगा।

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

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

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

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