2011-11-16 23 views
71

Moje XML wygląda tak, a nazwa pliku jest web.configJak odczytać sekcję appSettings w pliku web.config?

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

W kodzie kiedy czytam jak to

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

otrzymuję wartość null. Nie jest zgłaszany wyjątek. Czy to właściwy sposób?

Odpowiedz

123

Skoro dostępu do web.config powinieneś używać

using System.Web.Configuration; 

WebConfigurationManager.AppSettings["configFile"] 
26

Dodaj nazw

using System.Configuration; 

i zamiast

ConfigurationSettings.AppSettings

należy użyć

ConfigurationManager.AppSettings

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

Należy dodać dll System.Configuration jako punkt odniesienia i korzystania System.Configuration.ConfigurationManager.AppSettings["configFile"].ToString

Nie zapomnij dodać using oświadczenie na początku. Mam nadzieję, że to pomoże.

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; 
    } 
Powiązane problemy