【发布时间】:2013-08-02 01:20:11
【问题描述】:
我正在使用Microsoft HTTP Client Libraries - PCL(通过 NuGet 安装)与公共 REST API 进行通信。因为我在企业防火墙后面,所以我需要在 HttpClientHandler 上配置代理信息。
但是,在 HttpClientHandler 上设置代理时,会抛出以下错误:
找不到方法:'Void System.Net.Http.HttpClientHandler.set_Proxy(System.Net.IWebProxy)'。
我的代码没有什么特别之处,所以有点疑惑:
var handler = new HttpClientHandler
{
UseDefaultCredentials = false,
Proxy = new DefaultProxy
{
Credentials =
new NetworkCredential(
"firstname.lastname",
"P4ssw0rd",
"DOMAIN")
},
UseProxy = true
};
this.client = new HttpClient(handler);
一些注意事项:
- 我已经成功地将标准 .Net 库(即不是 PCL)中的 HttpClientHandler 用于另一个项目,所以我知道代理信息是正确的。
- 在绕过代理(即在公司网络之外,或没有代理)时,我已成功检索到数据。
- DefaultProxy 实现 IWebProxy。
【问题讨论】:
标签: c# portable-class-library dotnet-httpclient base-class-library