【问题标题】:Cannot add constructors after adding a handler to httpclient将处理程序添加到 httpclient 后无法添加构造函数
【发布时间】:2017-10-20 16:50:57
【问题描述】:

为什么添加DelegatingHandler后无法添加身份验证详细信息?

在添加 DelegatingHandler 之前,我能够像这样实例化 HttpClient

var client = new HttpClient{Credentials = ..., BaseAddress = ...};

添加DelegatingHandler 后,我无法添加CredentialsBaseAddress

var client = new HttpClient(new RetryHandler(new HttpClientHandler()));
client.BaseAddress = // does not exist!
client.Credentials = // does not exist!

我们如何向该客户端添加凭据和基地址?

【问题讨论】:

    标签: c# .net asp.net-web-api2 visual-studio-2017 dotnet-httpclient


    【解决方案1】:

    这是您可以将凭据传递到处理程序的方式:

    var clientHandler = new HttpClientHandler()
    {
        Credentials = ...
    };
    
    var retryHandler = new RetryHandler(clientHandler);
    
    var client = new HttpClient(retryHandler )
    {
        BaseAddress = ...
    };
    

    【讨论】:

      猜你喜欢
      • 2017-04-25
      • 1970-01-01
      • 2014-11-20
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多