获取 <defaultProxy useDefaultCredentials= /> 的值

Get the value of <defaultProxy useDefaultCredentials= />

如果用户将这些行添加到他们的配置文件中,我希望我的应用程序跳过一些逻辑:

<system.net>
  <defaultProxy useDefaultCredentials="true" />
</system.net>

我以为这样就可以了

System.Net.Configuration.DefaultProxySection dps = new System.Net.Configuration.DefaultProxySection();
if (!dps.UseDefaultCredentials)
{
    //Do stuff
}

但它仍然只是 returns 错误,尽管我的配置值。我在这里的想法可能完全错误......有什么想法吗?

您的代码正在从新创建对象,而不是从配置文件创建对象。相反,这样做:

var dps = System.Configuration.ConfigurationManager.GetSection("system.net/defaultProxy")
              as System.Net.Configuration.DefaultProxySection;  
if (!dps.UseDefaultCredentials)
{
    //Do stuff
}

此外,在盲目读取它的属性之前,您可能需要检查以确保 dps 不为空。