.net core 通过HttpClientFactory使用异步检索身份验证令牌

.net core 通过HttpClientFactory使用异步检索身份验证令牌,.net-core,.net Core,我正在尝试将HttpClientFactory配置为使用授权标头。问题是必须从auth服务检索auth令牌,这是另一个HTTP调用,最好使用wait完成。但是,这并没有像预期的那样起作用(至少在ASP.NET Core 2.2中没有): //Func令牌工厂=。。。 builder.ConfigureHttpClient(异步(提供程序,httpClient)=> { 字符串令牌=等待令牌工厂(提供者); httpClient.DefaultRequestHeaders.Authorizatio

我正在尝试将HttpClientFactory配置为使用授权标头。问题是必须从auth服务检索auth令牌,这是另一个HTTP调用,最好使用wait完成。但是,这并没有像预期的那样起作用(至少在ASP.NET Core 2.2中没有):

//Func令牌工厂=。。。
builder.ConfigureHttpClient(异步(提供程序,httpClient)=>
{
字符串令牌=等待令牌工厂(提供者);
httpClient.DefaultRequestHeaders.Authorization=新的AuthenticationHeaderValue(“承载者”,令牌);
});
看起来只要涉及传递给ConfigureHttpClient的操作,就不会等待它

有什么解决办法吗? ConfigureHttpClient是否应该改进,或者我缺少一些可以实现这一点的现有功能?

看看这个答案:

在发送请求之前,创建一个单独的
DelegatingHandler
,用于处理HttpClient请求。在此处理程序中,可以解析异步调用