Make the Ping method thread-safe (#1905)

So we do not risk blocking the main UI thread
This commit is contained in:
Rose 2022-09-26 10:15:59 -04:00 committed by GitHub
commit 6f9e142fb0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -20,6 +20,7 @@ using System.IO;
using System.Net; using System.Net;
using System.Net.Http; using System.Net.Http;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Threading.Tasks;
namespace CalculatorUITestFramework namespace CalculatorUITestFramework
{ {
@ -146,7 +147,8 @@ namespace CalculatorUITestFramework
{ {
Uri status; Uri status;
Uri service = this.ServiceUrl; Uri service = this.ServiceUrl;
HttpClient httpClient = new HttpClient(); using (HttpClient httpClient = new HttpClient())
{
httpClient.Timeout = this.InitializationTimeout; httpClient.Timeout = this.InitializationTimeout;
if (service.IsLoopback) if (service.IsLoopback)
@ -158,8 +160,10 @@ namespace CalculatorUITestFramework
status = new Uri(service + "/status"); status = new Uri(service + "/status");
} }
var httpResponse = httpClient.GetAsync(status); var httpResponse = Task.Run(() => httpClient.GetAsync(status)).ConfigureAwait(false).GetAwaiter().GetResult();
return httpResponse.Result.IsSuccessStatusCode;
return httpResponse.IsSuccessStatusCode;
}
} }
} }
} }