配置 HttpClientFactory 以使用来自当前请求上下文的数据

使用ASP.NET Core 2.1 中的新HttpClientFactory,可以很容易地使用基本 URL、默认标头等配置自定义 HTTP 客户端。

但是,我还没有找到一种集中配置的方法,可以让我从当前请求上下文中注入标头。例如,考虑一个使用Authorization标头调用的服务,我也希望将其传递给所有底层服务。能够在类中的.AddHttpClient()调用中配置它会很棒,但我无法弄清楚如何从那里获取请求上下文。servicesStartup

有任何想法吗?


汪汪一只猫
浏览 230回答 2
2回答

烙印99

从 .NET Core 3.0 开始,您可以使用 HeaderPropagation。Startup.cs 中的配置服务services.AddHeaderPropagation(o =>&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; o.Headers.Add("Authorization");&nbsp; &nbsp; &nbsp; &nbsp; });services.AddHttpClient<YourTypedHttpClient>().AddHeaderPropagation();在 Startup.cs 中配置app.UseHeaderPropagation();这将自动传播 Authorization 标头。您也可以将它用于其他标题。
打开App,查看更多内容
随时随地看视频慕课网APP