diff --git a/AIParkingApplication/ApiController.cs b/AIParkingApplication/ApiController.cs index 832b78b..2550e67 100644 --- a/AIParkingApplication/ApiController.cs +++ b/AIParkingApplication/ApiController.cs @@ -3,11 +3,14 @@ using System.Net.Http; using System.Threading.Tasks; using OpenCvSharp; using Newtonsoft.Json; +using System.Net; +using System.Threading; namespace AIParkingApplication { public class ApiController : IDisposable { + private const int MAX_REQUEST = 3; private HttpClient httpClient; private bool isHttpClientDisposabled; private int numberOfRetry; @@ -82,7 +85,16 @@ namespace AIParkingApplication { CardNumber = cardNumber }; - HttpResponseMessage response = await httpClient.PostAsJsonAsync("/api/check-card", request); + HttpResponseMessage response; + int requestCounter = 1; + do + { + response = await httpClient.PostAsJsonAsync("/api/check-card", request); + requestCounter += 1; + Thread.Sleep(100); + } + while (response.StatusCode != HttpStatusCode.OK && requestCounter < MAX_REQUEST); + response.EnsureSuccessStatusCode(); var cardValication = await response.Content.ReadAsAsync(); return cardValication; @@ -117,8 +129,15 @@ namespace AIParkingApplication PlateFrameImage = PlateFrameImageBase64, FrameImage = FrameImageBase64 }; - - HttpResponseMessage response = await httpClient.PostAsJsonAsync("/api/save-logs", request); + HttpResponseMessage response; + int requestCounter = 1; + do + { + response = await httpClient.PostAsJsonAsync("/api/save-logs", request); + requestCounter += 1; + Thread.Sleep(100); + } + while (response.StatusCode != HttpStatusCode.OK && requestCounter < MAX_REQUEST); response.EnsureSuccessStatusCode(); SaveLogRespone saveLogRespone = await response.Content.ReadAsAsync(); return saveLogRespone;