From f665f8af895060fcf49d976cee16078bca81cbd2 Mon Sep 17 00:00:00 2001 From: Radu Orleanu Date: Fri, 17 Aug 2018 14:04:35 +0200 Subject: [PATCH] fixing U4-11570 (#2860) --- src/Umbraco.Web/Scheduling/KeepAlive.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Umbraco.Web/Scheduling/KeepAlive.cs b/src/Umbraco.Web/Scheduling/KeepAlive.cs index f4beb9d5b8..0e6c2c7fb4 100644 --- a/src/Umbraco.Web/Scheduling/KeepAlive.cs +++ b/src/Umbraco.Web/Scheduling/KeepAlive.cs @@ -13,12 +13,15 @@ namespace Umbraco.Web.Scheduling internal class KeepAlive : RecurringTaskBase { private readonly ApplicationContext _appContext; + private static HttpClient _httpClient; - public KeepAlive(IBackgroundTaskRunner runner, int delayMilliseconds, int periodMilliseconds, + public KeepAlive(IBackgroundTaskRunner runner, int delayMilliseconds, int periodMilliseconds, ApplicationContext appContext) : base(runner, delayMilliseconds, periodMilliseconds) { _appContext = appContext; + if (_httpClient == null) + _httpClient = new HttpClient(); } private ILogger Logger { get { return _appContext.ProfilingLogger.Logger; } } @@ -26,7 +29,7 @@ namespace Umbraco.Web.Scheduling public override async Task PerformRunAsync(CancellationToken token) { if (_appContext == null) return true; // repeat... - + switch (_appContext.GetCurrentServerRole()) { case ServerRole.Slave: @@ -58,11 +61,9 @@ namespace Umbraco.Web.Scheduling } var url = umbracoAppUrl + "/ping.aspx"; - using (var wc = new HttpClient()) - { - var request = new HttpRequestMessage(HttpMethod.Get, url); - var result = await wc.SendAsync(request, token); - } + + var request = new HttpRequestMessage(HttpMethod.Get, url); + var result = await _httpClient.SendAsync(request, token); } catch (Exception e) { @@ -78,4 +79,4 @@ namespace Umbraco.Web.Scheduling get { return true; } } } -} \ No newline at end of file +}