2011-11-16 10 views
71

मेरे एक्सएमएल इस तरह दिखता है और फ़ाइल नाम web.configweb.config फ़ाइल में appSettings अनुभाग को कैसे पढ़ा जाए?

<?xml version="1.0"?> 
<configuration> 
    <appSettings> 
    <add key="configFile" value="IIS.config"/> 
    <add key="RialtoDomain" value="ASNC_AUDITORS"/>  
    </appSettings> 
    <system.serviceModel> 
    .... 
    </system.serviceModel> 
</configuration> 

जब मैं इस

String path = ConfigurationSettings.AppSettings["configFile"]; 

की तरह पढ़ मैं एक शून्य मान हो रही है कोड में। कोई अपवाद नहीं फेंक दिया गया है। क्या यह करने का सही तरीका है?

उत्तर

123

चूंकि आप एक web.config पहुँच बना रहे हैं तो आप शायद

using System.Web.Configuration; 

WebConfigurationManager.AppSettings["configFile"] 
26

नाम स्थान

using System.Configuration; 

और

ConfigurationSettings.AppSettings

के स्थान पर आप का उपयोग करना चाहिए जोड़े

ConfigurationManager.AppSettings

String path = ConfigurationManager.AppSettings["configFile"]; 
4

आप संदर्भ के रूप में System.Configuration dll जोड़ने के लिए और का उपयोग करना चाहिए का उपयोग करना चाहिए System.Configuration.ConfigurationManager.AppSettings["configFile"].ToString

using जोड़ने के लिए मत भूलना शुरुआत में बयान। उम्मीद है कि यह मदद करेगा।

0
using System.Configuration; 

    /// <summary> 
    /// For read one setting 
    /// </summary> 
    /// <param name="key">Key correspondent a your setting</param> 
    /// <returns>Return the String contains the value to setting</returns> 
    public string ReadSetting(string key) 
    { 
     var appSettings = ConfigurationManager.AppSettings; 
     return appSettings[key] ?? string.Empty; 
    } 

    /// <summary> 
    /// Read all settings for output Dictionary<string,string> 
    /// </summary>   
    /// <returns>Return the Dictionary<string,string> contains all settings</returns> 
    public Dictionary<string, string> ReadAllSettings() 
    { 
     var result = new Dictionary<string, string>(); 
     foreach (var key in ConfigurationManager.AppSettings.AllKeys) 
      result.Add(key, ConfigurationManager.AppSettings[key]); 
     return result; 
    } 
संबंधित मुद्दे