2011-10-06 14 views
7

का एक अलग हिस्सा रहा है में एक appSetting संदर्भित कर सकते हैं मेरी appSettingsAppsettings.Dev.Config नामक एक अलग config फाइल में परिभाषित है, और मैं की तरह तोमैं कैसे web.config

<appSettings configSource="ConfigFiles\AppSettings.Dev.config"/> 

चलें कहना मेरी web.config फाइल के अंदर उस फ़ाइल शामिल फ़ाइल में सेटिंग्स में से एक

<add key="MailerEmailAccount" value="[email protected]" /> 

मैं कहीं और web.config के अंदर स्थापित करने MailerEmailAccount का मूल्य पर पहुंच सकता है? कैसे?

उत्तर

4

नहीं, वेब कॉन्फ़िगरेशन फ़ाइल स्वयं से "सेटिंग्स" खींच नहीं सकती है; यह गतिशील नहीं है। गतिशील कार्यक्षमता का एकमात्र प्रकार अन्य .config को शामिल करने की क्षमता है, लेकिन यह सिर्फ "इन सभी सेटिंग्स को चूसना जैसे कि वे मेरे हिस्से थे" जैसी चीज है।

+0

मुझे लगता है कि appSettings और ConnectionStrings प्रयोग करने के लिए (किसी अन्य फ़ाइल से सेटिंग में खींच) करना configSource विशेषता। यह system.net टैग (या system.net टैग के लिए) के अंदर मेल सेटिंग्स टैग के लिए काम नहीं प्रतीत होता है। ऐप सेटिंग्स और कनेक्शन के अलावा सेटिंग्स को खींचने का कोई तरीका है अन्य फाइलों से कनेक्शन? – floatingfrisbee

+0

मुझे यकीन नहीं है कि इसमें सीमाएं हैं या नहीं; आपके जैसे मैं ज्यादातर ऐप सेटिंग्स और कनेक्शनस्ट्रिंग्स के लिए इसका उपयोग करता हूं। यदि आप वीएस -2010 का उपयोग कर रहे हैं, तो आप वेब पर भी विचार कर सकते हैं। कॉनफिग ट्रांसफॉर्मेशन: http://weblogs.asp.net/srkirkland/archive/2009/10/13/common-web-config-transformations-with-visual-studio -2010.aspx – CodingGorilla

+0

उस सिस्टम.net और मेल को सेट करता है सेटिंग्स टैग को एक अलग फ़ाइल से नहीं भेजा जा सकता है। हालांकि, smtp टैग (जो मेलसेटिंग का बच्चा है) हो सकता है। मैं web.config परिवर्तनों का उपयोग कर रहा हूं लेकिन इस विशेष मुद्दे को हल करके हल नहीं किया जा सका। धन्यवाद। – floatingfrisbee

4

यदि आप कस्टम ConfigurationSection बनाते हैं तो यह संभव हो सकता है जो appSettings से मान खींचता है।

यहाँ एक लेख है कि एक कस्टम विन्यास अनुभाग बनाने के लिए तरीके की व्याख्या है:
http://haacked.com/archive/2007/03/12/custom-configuration-sections-in-3-easy-steps.aspx

मैं नहीं जानता कि यदि यह आप जो खोज रहे हैं, लेकिन यह एक ही रास्ता मैं पढ़ने के लिए के बारे में सोच सकते हैं web.configweb.config के भीतर से सेटिंग।

संपादित

मैं इस परीक्षण नहीं किया, लेकिन शायद कुछ इस तरह काम करेगा ?:

[ConfigurationProperty("localName", IsRequired = true, IsKey = true)] 
public string LocalName 
{ 
    get 
    { 
     return this["localName"] as string; 
    } 
    set 
    {     
     this["localName"] = WebConfigurationManager.AppSettings.Get(value); 
    } 
} 
+0

उस हेक्ड लिंक और कोड स्निपेट के लिए धन्यवाद। यह सुनिश्चित नहीं है कि कोड अभी मुझे जो चाहिए उसके लिए काम करता है लेकिन यह एक अच्छा विचार है। – floatingfrisbee