C# 如何读取web.config文件中的appSettings部分?

C# 如何读取web.config文件中的appSettings部分?,c#,asp.net,web-config,C#,Asp.net,Web Config,我的XML看起来像这样,文件名是web.config <?xml version="1.0"?> <configuration> <appSettings> <add key="configFile" value="IIS.config"/> <add key="RialtoDomain" value="ASNC_AUDITORS"/> </appSettings> <syst

我的XML看起来像这样,文件名是
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>
我得到一个空值。没有抛出异常。 这样做对吗

ConfigurationManager.AppSettings["configFile"]
添加名称空间

using System.Configuration;
代替

ConfigurationSettings.AppSettings

你应该使用

ConfigurationManager.AppSettings

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

由于您正在访问
web.config
,您可能应该使用

using System.Web.Configuration;

WebConfigurationManager.AppSettings["configFile"]

您应该添加System.configuration dll作为参考,并使用
System.configuration.ConfigurationManager.AppSettings[“configFile”]。ToString

不要忘记在开头使用语句添加
。希望对您有所帮助。

使用System.Configuration;
    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;
    }
/// ///用于读取一个设置 /// ///关键是你的设置 ///返回包含要设置的值的字符串 公共字符串读取设置(字符串键) { var-appSettings=ConfigurationManager.appSettings; 返回appSettings[key]??string.Empty; } /// ///读取输出字典的所有设置 /// ///返回包含所有设置的字典 公共字典ReadAllSettings() { var result=newdictionary(); foreach(ConfigurationManager.AppSettings.AllKeys中的变量键) 添加(键,ConfigurationManager.AppSettings[key]); 返回结果; }
以下是访问C#项目中任意位置的web.config设置的简单方法

用例:

litBodyText.Text = Properties.Settings.Default.BodyText;
litFootText.Text = Properties.Settings.Default.FooterText;
litHeadText.Text = Properties.Settings.Default.HeaderText;
Web.config文件:

  <applicationSettings>
    <myWebSite.Properties.Settings> 
      <setting name="BodyText" serializeAs="String">
        <value>
          &lt;h1&gt;Hello World&lt;/h1&gt;
          &lt;p&gt;
      Ipsum Lorem
          &lt;/p&gt;
        </value>
      </setting>
      <setting name="HeaderText" serializeAs="String">
      My header text
        <value />
      </setting>
      <setting name="FooterText" serializeAs="String">
      My footer text
        <value />
      </setting>
    </myWebSite.Properties.Settings>
  </applicationSettings>

h1你好,世界/h1
P
益智
/p
我的标题文本
我的页脚文本

不需要特殊的程序——一切都已经就绪。我很惊讶,没有人知道从web.config文件读取设置的最佳方法是什么。

我检查了一下,仍然得到一个空值。我检查了钥匙和所有东西的拼写。
litBodyText.Text = Properties.Settings.Default.BodyText;
litFootText.Text = Properties.Settings.Default.FooterText;
litHeadText.Text = Properties.Settings.Default.HeaderText;
  <applicationSettings>
    <myWebSite.Properties.Settings> 
      <setting name="BodyText" serializeAs="String">
        <value>
          &lt;h1&gt;Hello World&lt;/h1&gt;
          &lt;p&gt;
      Ipsum Lorem
          &lt;/p&gt;
        </value>
      </setting>
      <setting name="HeaderText" serializeAs="String">
      My header text
        <value />
      </setting>
      <setting name="FooterText" serializeAs="String">
      My footer text
        <value />
      </setting>
    </myWebSite.Properties.Settings>
  </applicationSettings>