From e006ea75e4d5e527f96cb6e7e55b1947b383d9d5 Mon Sep 17 00:00:00 2001 From: Le Chau Date: Fri, 10 Jul 2020 14:45:27 +0700 Subject: [PATCH] =?UTF-8?q?Th=C3=AAm=20t=C3=ADnh=20n=C4=83ng=20th=E1=BB=AD?= =?UTF-8?q?=20g=E1=BB=ADi=20l=E1=BA=A1i=20request=20t=E1=BB=91i=20=C4=91a?= =?UTF-8?q?=203=20l=E1=BA=A7n=20tr=C6=B0=E1=BB=9Bc=20khi=20th=C3=B4ng=20b?= =?UTF-8?q?=C3=A1o=20l=E1=BB=97i=20l=E1=BA=A5y=20th=C3=B4ng=20tin=20th?= =?UTF-8?q?=E1=BA=BB=20ho=E1=BA=B7c=20ghi=20log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AIParkingApplication/ApiController.cs | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) 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;