C# 如何将ConfigurationManager.AppSettings与自定义节一起使用?

C# 如何将ConfigurationManager.AppSettings与自定义节一起使用?,c#,.net,wpf,appsettings,C#,.net,Wpf,Appsettings,我需要使用App.config文件获取“” 但目前我正在使用: string peopleXMLPath=ConfigurationManager.AppSettings[“服务器”]; 我无法得到这个值 你能指出我做错了什么吗 从app.config文件的appSettings部分获取值,但您正在将值存储在 <server url="http://example.com" /> 您的读取代码是正确的,但是您可能应该检查null。如果代码无法读取配置值,字符串变量将为空。您正

我需要使用App.config文件获取“”

但目前我正在使用:

string peopleXMLPath=ConfigurationManager.AppSettings[“服务器”];
我无法得到这个值

你能指出我做错了什么吗


从app.config文件的
appSettings
部分获取值,但您正在将值存储在

<server url="http://example.com" />

您的读取代码是正确的,但是您可能应该检查null。如果代码无法读取配置值,
字符串
变量将为空。

您正在定义配置节,而不是
AppSettings
中的值。您只需将设置添加到
AppSettings

<appSettings>
      ... may be some settings here already
      <add key="server" value="http://example.com" />
</appSettings>

通常用于更复杂的配置(例如,每个键有多个值、非字符串值等)。

我认为您需要获取配置部分,并访问:

var section=ConfigurationManager.GetSection(“服务器”)作为NameValueCollection;
var值=节[“url”];
您还需要更新配置文件:



SingleTagSectionHandler
仅供内部使用。我认为
NameValueSectionHandler
是定义配置节的首选方法。

如果要从应用程序设置中获取值,配置文件中的appsetting元素必须有一个键

定义服务器值,如下配置部分所述:

<configuration>
    <appSettings>
          <add key="server" value="http://example.com" />
    </appSettings>
    ...
    ...
    ...
</configuration>
委员会:

此API支持.NET Framework基础架构,不打算直接从代码中使用

您可以将其作为
哈希表
检索,并使用
Configuration.GetSection()
访问其条目:


ConfigurationManager.AppSettings[“MyAppSetting”]
仅为您提供配置文件中
下键入名称为“MyAppSetting”的设置。使用my xml检查此链接不起作用。很遗憾,…我应该更改我的xml吗?是的。您需要更改
url=”http://example.com"
服务器上的属性
变成子
添加
标记。
<appSettings>
      ... may be some settings here already
      <add key="server" value="http://example.com" />
</appSettings>
<configuration>
    <appSettings>
          <add key="server" value="http://example.com" />
    </appSettings>
    ...
    ...
    ...
</configuration>
string peopleXMLPath = ConfigurationManager.AppSettings["server"].ToString();
Hashtable serverTag = (Hashtable)ConfigurationManager.GetSection("server");

string serverUrl = (string)serverTag["url"];