2014-02-24 97 views
1

我正在构建一个可移植类库项目。使用HttpClient类(从NuGet包安装)。便携式类库上的WebProxy

现在。我想通过将HttpClientHandler传递给它的构造函数来使HttpClient使用Proxy(HttpClientHandler具有Proxy属性,我们将为其分配WebProxy实例)。 问题是便携式类库不支持WebProxy类。它只有IWebProxy interace。

我在Google上搜索了NuGet Package,但我找不到任何解决方案。 请告诉我。我怎样才能解决这个问题(或者使用代理服务器来制作HttpClient的另一种方式)

回答

4

PCLs没有IWebProxy的实现,但它是一个非常简单的接口,您可以轻松地自行实现。对于所有目的地上的相同代理,类似这样的东西:

public class Proxy : System.Net.IWebProxy 
{ 
    public System.Net.ICredentials Credentials 
    { 
     get; 
     set; 
    } 

    private readonly Uri _proxyUri; 

    public Proxy(Uri proxyUri) 
    { 
     _proxyUri = proxyUri; 
    } 

    public Uri GetProxy(Uri destination) 
    { 
     return _proxyUri; 
    } 

    public bool IsBypassed(Uri host) 
    { 
     return false; 
    } 
}