使用ASP.NET Core 2.1 中的新HttpClientFactory,可以很容易地使用基本 URL、默认标头等配置自定义 HTTP 客户端。但是,我还没有找到一种集中配置的方法,可以让我从当前请求上下文中注入标头。例如,考虑一个使用Authorization标头调用的服务,我也希望将其传递给所有底层服务。能够在类中的.AddHttpClient()调用中配置它会很棒,但我无法弄清楚如何从那里获取请求上下文。servicesStartup有任何想法吗?
2 回答
烙印99
TA贡献1829条经验 获得超13个赞
从 .NET Core 3.0 开始,您可以使用 HeaderPropagation。
Startup.cs 中的配置服务
services.AddHeaderPropagation(o =>
{
o.Headers.Add("Authorization");
});
services.AddHttpClient<YourTypedHttpClient>().AddHeaderPropagation();
在 Startup.cs 中配置
app.UseHeaderPropagation();
这将自动传播 Authorization 标头。您也可以将它用于其他标题。
- 2 回答
- 0 关注
- 229 浏览
添加回答
举报
0/150
提交
取消