-6ren">
gpt4 book ai didi

c# - 向通过 IHttpClientFactory 创建的所有客户端添加处理程序?

转载 作者:行者123 更新时间:2023-11-30 21:27:45 27 4
gpt4 key购买 nike

有没有办法向 IHttpClientFactory 创建的所有客户端添加处理程序?

我知道您可以在命名客户端上执行以下操作:

services.AddHttpClient("named", c =>
{
c.BaseAddress = new Uri("TODO");
c.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
c.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue
{
NoCache = true,
NoStore = true,
MaxAge = new TimeSpan(0),
MustRevalidate = true
};
}).ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
AllowAutoRedirect = false,
AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip
});

但我不想使用命名客户端。

我只想为通过以下方式返回给我的所有客户端添加一个处理程序:

clientFactory.CreateClient();

最佳答案

当您使用不带参数的 CreateClient 时,您 implicitly请求一个命名的客户端,名称为 Options.DefaultName (string.Empty).

要影响此默认 实例,请在调用 AddHttpClient 时指定 Options.DefaultName:

services.AddHttpClient(Options.DefaultName, c =>
{
// ...
}).ConfigurePrimaryHttpMessageHandler(() =>
{
// ...
});

API docs for AddHttpClient陈述如下:

Use DefaultName as the name to configure the default client.

关于c# - 向通过 IHttpClientFactory 创建的所有客户端添加处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57235400/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com