-->

Location of IWebProxy implementation for .NET Core

2019-04-24 15:10发布

问题:

What is the available implementation of the System.Net.IWebProxy (from System.Net.Primitives, DNX Core)? By application requirement, the only framework can be used in dnxcore50, so what is the right NuGet package that contains proxy implementations?

What is the correct way to resolve such questions? Related functionality seems to be split among dozen of packages.

回答1:

Despite the name, IWebProxy implementation does not actually need to implement any proxying, it just provides information about the proxy. So, you can create your own implementation:

public class MyProxy : IWebProxy
{
    public Uri GetProxy(Uri destination)
    {
        return new Uri("http://localhost:8888");
    }

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

    public ICredentials Credentials { get; set; }
}


回答2:

There is a WebProxy class in the System.Net namespace (source here) that you can use.



回答3:

Make sure your project.json file has these two lines under "dependencies"

"frameworks": {
    "dotnet5.4": {
      "dependencies": {
        "Microsoft.Net.Http": "2.2.29",
        "System.Net.Primitives": "4.0.11-beta-23516"
      }
    }
}