【问题标题】:How can we configure HttpProxy on services.AddAzureClients我们如何在 services.AddAzureClients 上配置 HttpProxy
【发布时间】:2021-10-27 07:58:40
【问题描述】:

我们的 .Net 5.0 aspnetcore 启动类中有以下代码

public void ConfigureServices(IServiceCollection services)
{
  services.AddAzureClients(builder =>
  {
 
    // Add a storage account client
    builder.AddBlobServiceClient(storageUrl);
    // Use the environment credential by default
    builder.UseCredential(new EnvironmentCredential());
  });

  services.AddControllers();
}

对于 HttpClient,我们可以使用以下代码配置 httpproxy,但是我们如何为 BlobServiceClient 实现相同的功能??

  services.AddHttpClient("SampleClient", client =>
                {
                    client.BaseAddress = new Uri("https://sample.client.url.com");
                })
            .ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
            {
                Proxy = new WebProxy("https://sample.proxy.url.com")
            });

【问题讨论】:

    标签: azure asp.net-core asp.net-web-api azure-blob-storage


    【解决方案1】:

    解决方案是将带有指定代理 URI 的 BlobClientOptions 传递到 BlobServiceClient 的构造函数中。

    查看此sample code,它显示了如何在 HttpClient 中指定代理

    构造新的HttpClientTransport时可以将HttpClient作为参数传入,可以在BlobClientOption的Transport属性中设置,然后传入BlobServiceClient的构造函数中。

    【讨论】:

    • 设置环境变量不行吗? azure SDK 指定我们可以设置 HTTPS_PROXY,这将由 SDK 选择。我的假设是错误的,即服务客户端基本上是 azure SDK 的扩展方法?
    猜你喜欢
    • 2019-02-10
    • 2015-12-08
    • 1970-01-01
    • 2016-03-17
    • 2018-08-31
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多