mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-19 04:49:26 -07:00
Make the Ping method thread-safe (#1905)
So we do not risk blocking the main UI thread
This commit is contained in:
parent
dbc924cac9
commit
6f9e142fb0
1 changed files with 16 additions and 12 deletions
|
@ -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,20 +147,23 @@ 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)
|
||||||
{
|
{
|
||||||
status = new Uri("http://localhost:" + Convert.ToString(this.Port) + "/status");
|
status = new Uri("http://localhost:" + Convert.ToString(this.Port) + "/status");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
status = new Uri(service + "/status");
|
||||||
|
}
|
||||||
|
|
||||||
|
var httpResponse = Task.Run(() => httpClient.GetAsync(status)).ConfigureAwait(false).GetAwaiter().GetResult();
|
||||||
|
|
||||||
|
return httpResponse.IsSuccessStatusCode;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
status = new Uri(service + "/status");
|
|
||||||
}
|
|
||||||
|
|
||||||
var httpResponse = httpClient.GetAsync(status);
|
|
||||||
return httpResponse.Result.IsSuccessStatusCode;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue