Files
qhmes/yy-admin-master/YY.Admin/Module/HttpClientExtensions.cs

42 lines
1.3 KiB
C#

using System.Net.Http;
namespace YY.Admin.Module
{
public static class HttpClientExtensions
{
public static void AddHttpClient(this IContainerRegistry containerRegistry)
{
containerRegistry.RegisterSingleton<HttpClient>(() =>
{
var handler = new SocketsHttpHandler
{
// 连接池大小
MaxConnectionsPerServer = 50,
// 最大存活时间(绝对时间)
PooledConnectionLifetime = TimeSpan.FromMinutes(5),
// 空闲连接超时时间,超时后自动回收
PooledConnectionIdleTimeout = TimeSpan.FromMinutes(2),
// 是否自动重试
AutomaticDecompression = System.Net.DecompressionMethods.GZip |
System.Net.DecompressionMethods.Deflate
};
var client = new HttpClient(handler)
{
// 默认超时时间 30秒
Timeout = TimeSpan.FromSeconds(30)
};
client.DefaultRequestHeaders.UserAgent.ParseAdd("YY.Admin");
return client;
});
}
}
}