2008-11-06 9 views

उत्तर

13

This fellow नमूना कोड पता चलता है: एक web.config संपादन के लिए

protected void EditConfigButton(object sender, EventArgs e) 
{ 
    Configuration objConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); 
    AppSettingsSection objAppsettings = (AppSettingsSection)objConfig.GetSection("appSettings"); 
    //Edit 
    if (objAppsettings != null) 
    { 
     objAppsettings.Settings["test"].Value = "newvalueFromCode"; 
     objConfig.Save(); 
    } 
} 

एक वैध कारण यह एन्क्रिप्ट करने के लिए है, जो है क्या उस लेख के बारे में है।

+0

ऑथ मोड बदलें। – AgentFire

1

आप जो कर रहे हैं उसके आधार पर, विधि प्रत्येक स्थिति में वास्तव में थोड़ा अलग है। हालांकि सबसे मजबूत तरीका इसे XmlDocument के रूप में लोड करना और उस विधि के माध्यम से आवश्यक रूप से संशोधित करना है, लेकिन आपको केवल आवश्यक तरीके से इसे संशोधित करने के लिए सावधान रहना चाहिए।

3

आप विशिष्ट कॉन्फ़िगरेशन अनुभाग पढ़ने के लिए WebConfigurationManager का उपयोग कर सकते हैं। यह एक कॉन्फ़िगरेशनसेक्शन ऑब्जेक्ट वापस करेगा। आप अनुभाग में कॉन्फ़िगरेशन एलिमेंट्स को पढ़ने/संशोधित करने के लिए इसका उपयोग कर सकते हैं। एक बार जब आप उन्हें अपडेट कर लेंगे, तो आप कॉन्फ़िगरेशनसेक्शन को सहेज सकते हैं और यह आपके परिवर्तनों के साथ फ़ाइल को अपडेट करेगा।

यदि मैं पहले से एन्क्रिप्ट नहीं किया गया है, तो मैं एप्लिकेशन_स्टार्ट पर ऐप सेटिंग्स और कनेक्शनस्ट्रिंग को स्वचालित रूप से एन्क्रिप्ट करने के लिए इसका उपयोग करता हूं। मैंने वास्तव में इस तरह से कोई भी सेटिंग नहीं बदली है, लेकिन ऐसा लगता है कि आपको ऐसा करने में सक्षम होना चाहिए।

अद्यतन कॉन्फ़िगरेशन फ़ाइल को सहेजने से ऐप को रीसायकल करने का कारण बन सकता है कि यह कैसे बनाया गया है।

0

हाँ मैं जोश से सहमत हूं। मैंने पहले इस की कोशिश की है और मैं दो नकारात्मक प्रभाव पड़ा है:

  1. धीमे लोड करता है, तो पोस्टबैक के बाद वर्तमान पृष्ठ क्योंकि ASP.NET web.config और सभी संबंधित संसाधनों लोड कर रहा है
  2. आप वेब को बदलते हैं लोड चक्र में पर्याप्त रूप से .config (उदाहरण के लिए global.asax घटनाओं) साइट अप्रत्याशित तरीकों से कभी लोड या विफल नहीं हो सकती है
1

सिद्धांत में; आप बस एक वेब कॉन्फ़िगरेशन फ़ाइल प्रोग्रामेटिक रूप से उत्पन्न कर सकते हैं और इसे आसान बनाने के लिए कुछ templating के साथ।

हालांकि, यदि आप साइट के भीतर से अपना web.config संपादित करने का प्रयास कर रहे हैं; यह है अत्यधिक अनुशंसा की जाती है कि आप नहीं करते हैं। कम से कम; जब भी आप इसे अपडेट करते हैं तो आप ऐप रीसेट ट्रिगर करेंगे; यदि आप इन-प्रोसेस सत्र का उपयोग कर रहे हैं तो विशेष रूप से खराब होगा।

एंडर्स ने पूछा, आप क्या करने की कोशिश कर रहे हैं? अगर आप अभी भी सभी चेतावनियां के बाद यह करना चाहते हैं

+0

उदाहरण के लिए ऑथ मोड बदलें। उदाहरण के लिए – AgentFire

0

अन्य लोगों के साथ सहमत, संपादन webconfig प्राप्त है, लेकिन प्रभाव पर दस्तक है खतरनाक/जोखिम के लिए बस कर रहे हैं शामिल

तो इसकी एक मूल्य है कि आवेदन विशिष्ट है, तो यह एक आवेदन विशिष्ट कॉन्फ़िग फ़ाइल

में होना चाहिए
0

बहुत समय जब आप कुछ गलत होने पर तैनाती के बाद एप्लिकेशन विशिष्ट सेटिंग्स को संशोधित करना चाहते हैं उदा। वर्तमान डीबी नीचे जाने के मामले में डेटाबेस कनेक्शन स्विचिंग। इसके अलावा कभी-कभी आप अपनी खुद की एक्सएमएल आधारित कॉन्फ़िगरेशन फ़ाइल बनाना चाहते हैं जिसे आप प्रोग्रामेटिक रूप से संशोधित करना चाहते हैं।

कोशिश एक्सएमएल Webpad - http://xmlwebpad.codeplex.com/

इसकी एक रूपरेखा एक संपादन एक्सएमएल फाइल देखने पर। एक बार जब आप इसे अपने वेब ऐप से एकीकृत कर लेंगे, तो वेब.कॉन्फिग बीमार को संपादित करना वेब.कॉन्फिग पेज को देखने, आवश्यक परिवर्तन करने और सहेजने के बटन को मारने के समान सरल होगा (सभी आपके आवेदन के भीतर से)।

संबंधित मुद्दे