我有我的应用程序的配置文件,我的app.config如下
string proxyURLAddr = ConfigurationManager.AppSettings["proxyaddress"];
将获得“192.168.130.5”,
如何在c#中获取system.net部分中的所有代理设置?
更新:我将配置更改为以下内容并获取:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
</configSections>
<appSettings>
<add key="log4net.Config" value="log4netConfig.xml" />
<add key="proxyaddress" value=""/>
</appSettings>
<system.net>
<defaultProxy enabled ="true" useDefaultCredentials = "true">
<proxy usesystemdefault ="True" bypassonlocal="False"/>
</defaultProxy>
</system.net>
</configuration>
配置:
queryForList()
答案 0 :(得分:0)
更新2:
您可以阅读描述here的值,但对于本地应用设置配置文件:
var proxy = System.Configuration.ConfigurationManager.GetSection("system.net/defaultProxy") as System.Net.Configuration.DefaultProxySection
if (proxy != null)
{ /* Check Values Here */ }
对于自定义栏目,您可以使用以下步骤:
您已定义从ConfigurationSection派生的自定义configsection类:
public class ProxyConfiguration : ConfigurationSection
{
private static readonly ProxyConfiguration Config = ConfigurationManager.GetSection("proxy") as ProxyConfiguration;
public static ProxyConfiguration Instance
{
get
{
return Config;
}
}
[ConfigurationProperty("autoDetect", IsRequired = true, DefaultValue = true)]
public bool AutoDetect
{
get { return (bool)this["autoDetect"]; }
}
// all other properties
}
之后,您可以使用类实例来访问值:
ProxyConfiguration.Instance.AutoDetect
您可以在MSDN
中找到示例答案 1 :(得分:0)
过敏,您的app.config在构建和部署时将重命名为:程序集的名称+(。exe或.dll)+&#34; .config&#34;。上面的答案适用于Web应用程序,但不适用于控制台,库和Windows服务。您无法将app.config与任何程序集放在一起,并期望此程序集开始阅读appSettings部分,就像IIS读取web.config文件一样。我想这就是你收到null的原因。