Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向httpclient添加处理程序后无法添加构造函数_C#_.net_Asp.net Web Api2_Visual Studio 2017_Dotnet Httpclient - Fatal编程技术网

C# 向httpclient添加处理程序后无法添加构造函数

C# 向httpclient添加处理程序后无法添加构造函数,c#,.net,asp.net-web-api2,visual-studio-2017,dotnet-httpclient,C#,.net,Asp.net Web Api2,Visual Studio 2017,Dotnet Httpclient,为什么我不能在添加DelegatingHandler后添加身份验证详细信息? 在添加DelegatingHandler之前,我能够实例化HttpClient,如下所示: var client = new HttpClient{Credentials = ..., BaseAddress = ...}; 添加了DelegatingHandler后,我无法添加凭据和基本地址: var client = new HttpClient(new RetryHandler(new HttpClientHa

为什么我不能在添加
DelegatingHandler
后添加身份验证详细信息?

在添加
DelegatingHandler
之前,我能够实例化
HttpClient
,如下所示:

var client = new HttpClient{Credentials = ..., BaseAddress = ...};
添加了
DelegatingHandler
后,我无法添加
凭据
基本地址

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

如何将凭据和基地址添加到此客户端?这是您将凭据传递到处理程序的方式:

var clientHandler = new HttpClientHandler()
{
    Credentials = ...
};

var retryHandler = new RetryHandler(clientHandler);

var client = new HttpClient(retryHandler )
{
    BaseAddress = ...
};