2012-09-05 20 views
5

मैं web.config को विभाजित करना चाहता हूं और इन सेटिंग्स को बाहरी फ़ाइल में ले जाना चाहता हूं।web.config कैसे विभाजित करें?

<customErrors mode="Off" defaultRedirect="~/Home/ErrorPage"> 
    <error statusCode="403" redirect="~/Home/ErrorPage"/> 
    <error statusCode="404" redirect="~/Home/ErrorPage"/> 
</customErrors> 

<system.net> 
    <mailSettings> 
    <smtp deliveryMethod="Network" from="[email protected]"> 
     <network host="smtp.company.com" port="25" password="" userName=""/> 
    </smtp> 
    </mailSettings> 
</system.net> 

मैं

<appSettings file="my.config"/> 

का उपयोग बाहर मेरी सेटिंग है।

लेकिन मानक सेटिंग्स के बारे में क्या?

उत्तर

7

अनुभागों में से कई (हालांकि सभी नहीं) configSource संपत्ति है, जिसका उपयोग आप appSettings अनुभाग की संपत्ति का उपयोग करने के समान ही कर सकते हैं।

More info at MSDN


<customErrors configSource="MyErrors.config" /> 

    <system.net> 
    <mailSettings> 
     <smtp configSource="MySmtp.config" /> 
    </mailSettings> 
    </system.net> 
+0

अच्छा समाधान। धन्यवाद! नुकसान यह है कि मुझे प्रत्येक सेटिंग के लिए दो कॉन्फ़िगरेशन फाइलें बनाना है। – podeig

+0

क्या 'configSource' एकाधिक अनुभागों के लिए एक ही फ़ाइल का संदर्भ दे सकता है, या प्रत्येक अनुभाग के लिए एक अलग फ़ाइल बनाने के लिए आवश्यक है? – crush

0

आप फ़ाइल के कुछ वर्गों को अलग कर सकते हैं, तो आप नहीं सब कुछ बाहर अलग फ़ाइलों में ले जा सकते हैं।

आपको यह भी विचार करना चाहिए कि आप ऐसा करके क्या हासिल करते हैं।

+0

प्राप्त की गई एक चीज़ पर्यावरण कॉन्फ़िगरेशन है जो प्रत्येक पर्यावरण के लिए व्यक्तिगत निर्माण कॉन्फ़िगरेशन बनाने की आवश्यकता के बिना वेब.कॉन्फिग रूपांतरण (जो कि वास्तव में सिस्टम का दुरुपयोग है) का लाभ उठाने के लिए है। आप पर्यावरण प्रणाली पर इन विशेष बाहरी कॉन्फ़िगरेशन फ़ाइलों को छोड़ सकते हैं, और वैश्विक कॉन्फ़िगरेशन छोड़ सकते हैं जो मुख्य वेब.कॉन्फिग में प्रकाशित करने के लिए प्रकाशित से बदल सकते हैं। – crush