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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.