From b81fac24679343576be199c7b6b2c9c7a1366cb7 Mon Sep 17 00:00:00 2001 From: Stephen Halter Date: Tue, 25 May 2021 12:46:40 -0700 Subject: [PATCH] Reduce DefaultPooledConnectionIdleTimeout default (#52687) * Reduce DefaultPooledConnectionIdleTimeout default - Change DefaultPooledConnectionIdleTimeout from 120 seconds to 60 seconds - This should reduce the occurrence of socket errors when connected to IIS or Kestrel --- src/libraries/Common/src/System/Net/Http/HttpHandlerDefaults.cs | 2 +- .../System.Net.Http/tests/FunctionalTests/SocketsHttpHandlerTest.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libraries/Common/src/System/Net/Http/HttpHandlerDefaults.cs b/src/libraries/Common/src/System/Net/Http/HttpHandlerDefaults.cs index 5375192..3bf335e 100644 --- a/src/libraries/Common/src/System/Net/Http/HttpHandlerDefaults.cs +++ b/src/libraries/Common/src/System/Net/Http/HttpHandlerDefaults.cs @@ -25,7 +25,7 @@ namespace System.Net.Http public const bool DefaultUseDefaultCredentials = false; public const bool DefaultCheckCertificateRevocationList = false; public static readonly TimeSpan DefaultPooledConnectionLifetime = Timeout.InfiniteTimeSpan; - public static readonly TimeSpan DefaultPooledConnectionIdleTimeout = TimeSpan.FromMinutes(2); + public static readonly TimeSpan DefaultPooledConnectionIdleTimeout = TimeSpan.FromMinutes(1); public static readonly TimeSpan DefaultExpect100ContinueTimeout = TimeSpan.FromSeconds(1); public static readonly TimeSpan DefaultConnectTimeout = Timeout.InfiniteTimeSpan; } diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/SocketsHttpHandlerTest.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/SocketsHttpHandlerTest.cs index cbae2a5..e74684e 100644 --- a/src/libraries/System.Net.Http/tests/FunctionalTests/SocketsHttpHandlerTest.cs +++ b/src/libraries/System.Net.Http/tests/FunctionalTests/SocketsHttpHandlerTest.cs @@ -1774,7 +1774,7 @@ namespace System.Net.Http.Functional.Tests { using (var handler = new SocketsHttpHandler()) { - Assert.Equal(TimeSpan.FromMinutes(2), handler.PooledConnectionIdleTimeout); + Assert.Equal(TimeSpan.FromMinutes(1), handler.PooledConnectionIdleTimeout); handler.PooledConnectionIdleTimeout = Timeout.InfiniteTimeSpan; Assert.Equal(Timeout.InfiniteTimeSpan, handler.PooledConnectionIdleTimeout); @@ -1957,7 +1957,7 @@ namespace System.Net.Http.Functional.Tests Assert.Equal(int.MaxValue, handler.MaxConnectionsPerServer); Assert.Equal(64, handler.MaxResponseHeadersLength); Assert.False(handler.PreAuthenticate); - Assert.Equal(TimeSpan.FromMinutes(2), handler.PooledConnectionIdleTimeout); + Assert.Equal(TimeSpan.FromMinutes(1), handler.PooledConnectionIdleTimeout); Assert.Equal(Timeout.InfiniteTimeSpan, handler.PooledConnectionLifetime); Assert.NotNull(handler.Properties); Assert.Null(handler.Proxy); -- 2.7.4