using System.Net.Http; namespace YY.Admin.Module { public static class HttpClientExtensions { public static void AddHttpClient(this IContainerRegistry containerRegistry) { containerRegistry.RegisterSingleton(() => { 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; }); } } }