ApiController - Update numberOfRetry

This commit is contained in:
DucDangAnh 2020-07-14 14:48:53 +07:00
parent 08c6ed210e
commit 52f71be90b

View File

@ -9,19 +9,19 @@ namespace AIParkingApplication
{ {
public class ApiController : IDisposable public class ApiController : IDisposable
{ {
private const int MAX_REQUEST = 3;
private HttpClient httpClient; private HttpClient httpClient;
private bool isHttpClientDisposabled; private bool isHttpClientDisposabled;
private int numberOfRetry;
public ApiController(string serverIPAddress, int numberOfRetry = 5) public ApiController(string serverIPAddress, int numberOfRetry = 3)
{ {
httpClient = new HttpClient httpClient = new HttpClient
{ {
BaseAddress = new Uri($"http://{serverIPAddress}"), BaseAddress = new Uri($"http://{serverIPAddress}"),
Timeout = TimeSpan.FromSeconds(5) Timeout = TimeSpan.FromSeconds(5)
}; };
isHttpClientDisposabled = false; isHttpClientDisposabled = false;
this.numberOfRetry = numberOfRetry;
} }
~ApiController() ~ApiController()
@ -92,7 +92,7 @@ namespace AIParkingApplication
requestCounter += 1; requestCounter += 1;
await Task.Delay(100); await Task.Delay(100);
} }
while (response.StatusCode != HttpStatusCode.OK && requestCounter < MAX_REQUEST); while (response.StatusCode != HttpStatusCode.OK && requestCounter < numberOfRetry);
var cardValication = await response.Content.ReadAsAsync<CardInformation>(); var cardValication = await response.Content.ReadAsAsync<CardInformation>();
return cardValication; return cardValication;
@ -135,7 +135,7 @@ namespace AIParkingApplication
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
requestCounter += 1; requestCounter += 1;
await Task.Delay(100); await Task.Delay(100);
} while (response.StatusCode != HttpStatusCode.OK && requestCounter < MAX_REQUEST); } while (response.StatusCode != HttpStatusCode.OK && requestCounter < numberOfRetry);
SaveLogRespone saveLogRespone = await response.Content.ReadAsAsync<SaveLogRespone>(); SaveLogRespone saveLogRespone = await response.Content.ReadAsAsync<SaveLogRespone>();
return saveLogRespone; return saveLogRespone;
} }