Làm cách nào để đọc phần appSettings trong tệp web.config?


92

XML của tôi trông như thế này và tên tệp là 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>

Trong mã khi tôi đọc như thế này

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

Tôi đang nhận được một giá trị null. Không có ngoại lệ được ném. Đây có phải là cách đúng đắn để làm việc này?

Câu trả lời:


154

Vì bạn đang truy cập một, web.configbạn có thể nên sử dụng

using System.Web.Configuration;

WebConfigurationManager.AppSettings["configFile"]

29

Thêm không gian tên

using System.Configuration;

và thay cho

ConfigurationSettings.AppSettings

bạn nên sử dụng

ConfigurationManager.AppSettings

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


4

Bạn nên thêm dll System.configuration làm tài liệu tham khảo và sử dụng System.Configuration.ConfigurationManager.AppSettings["configFile"].ToString

Đừng quên thêm usingtuyên bố ở đầu. Hy vọng nó sẽ giúp ích.


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;
    }
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.