2011-06-13 15 views
41

में कस्टम सेक्शन से मूल्यों को कैसे पढ़ा जाए, मुझे web.config फ़ाइल में नमूना कोड नीचे मिला है।web.config

<configuration> 
     <configSections> 
     <section name="secureAppSettings" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     </configSections> 
<secureAppSettings> 
     <add key="userName" value="username"/> 
     <add key="userPassword" value="password"/> 
    </secureAppSettings> 
    </configuration> 

मेरा नया खंड secureAppSettings decrypted है और इसके अंदर दो चाबियाँ हो रही है।

अब मेरी कोड में, मैं नीचे की तरह इन महत्वपूर्ण कुछ उपयोग करना चाहते:

string userName = System.Configuration.ConfigurationManager.secureAppSettings["userName"]; 
string userPassword = System.Configuration.ConfigurationManager.secureAppSettings["userPassword"]; 

लेकिन यह इन क्षेत्रों के लिए null लौटा रहा है।

मैं मूल्य कैसे प्राप्त कर सकता हूं?

+0

सबसे उपयोगी और हमेशा काम कर समाधान मेरी राय में यह एक है: http://stackoverflow.com/a/28600293/4250041 – benraay

उत्तर

51

आप उन्हें कुंजी/मान जोड़े के रूप में पहुंच सकता है:

NameValueCollection section = (NameValueCollection)ConfigurationManager.GetSection("secureAppSettings"); 
string userName = section["userName"]; 
string userPassword = section["userPassword"]; 
+0

यह है ऐपसेटिंग से अलग अनुभाग, यह "safeAppSettings" नामक नया खंड है, मैं ऐपसेटिंग में मान कैसे प्राप्त कर सकता हूं और "safeAppSettings" अब एन्क्रिप्टेड है। –

+1

@ मॅनू, क्षमा करें, मैंने आपके प्रश्न को पूरी तरह गलत तरीके से पढ़ा है, आप सही हैं। मैंने अपने उत्तरों को उन मानों को पढ़ने के सही तरीके से अपडेट किया है। –

+0

@ मॅनू, ओह मैन, ओके: 'varValueCollection' के साथ' var' को प्रतिस्थापित करें। –