You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.Net 5.0项目中AddAzureClients注册的BlobServiceClient如何配置Http代理

解决方案

要为BlobServiceClient配置代理,直接在注册服务时通过WithOptions方法自定义传输层的Http处理器即可,完整配置代码如下:

public void ConfigureServices(IServiceCollection services)
{
  services.AddAzureClients(builder =>
  {
    // 添加存储账户客户端,同时配置代理
    builder.AddBlobServiceClient(storageUrl)
           .WithOptions(new BlobClientOptions
           {
               Transport = new HttpClientTransport(new HttpClientHandler
               {
                   Proxy = new WebProxy("https://sample.proxy.url.com"),
                   // 按需配置是否绕过本地地址代理
                   BypassProxyOnLocal = true
                   // 若代理需要身份验证,使用下方配置
                   /*
                   Proxy = new WebProxy("https://sample.proxy.url.com")
                   {
                       Credentials = new NetworkCredential("代理账号", "代理密码")
                   }
                   */
               })
           });
    // 使用默认环境凭证
    builder.UseCredential(new EnvironmentCredential());
  });

  services.AddControllers();
}

要点说明

  • 该配置方式适配Azure.Storage.Blobs v12+版本,.Net 5及以上版本都可以直接使用,无需额外安装依赖包。
  • 如果你需要给所有注册的Azure客户端(比如队列客户端、表存储客户端等)统一配置代理,可以直接配置全局默认选项,不用逐个单独配置:
services.AddAzureClients(builder =>
{
    // 全局配置所有Azure客户端的代理
    builder.ConfigureDefaults(options =>
    {
        options.Transport = new HttpClientTransport(new HttpClientHandler
        {
            Proxy = new WebProxy("https://sample.proxy.url.com")
        });
    });

    builder.AddBlobServiceClient(storageUrl);
    builder.UseCredential(new EnvironmentCredential());
});

内容的提问来源于stack exchange,提问作者nen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:24:03