This commit is contained in:
DucDangAnh 2020-07-10 14:47:00 +07:00
commit 34d0054b01

View File

@ -3,11 +3,14 @@ using System.Net.Http;
using System.Threading.Tasks; using System.Threading.Tasks;
using OpenCvSharp; using OpenCvSharp;
using Newtonsoft.Json; using Newtonsoft.Json;
using System.Net;
using System.Threading;
namespace AIParkingApplication 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; private int numberOfRetry;
@ -82,7 +85,16 @@ namespace AIParkingApplication
{ {
CardNumber = cardNumber 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(); response.EnsureSuccessStatusCode();
var cardValication = await response.Content.ReadAsAsync<CardInformation>(); var cardValication = await response.Content.ReadAsAsync<CardInformation>();
return cardValication; return cardValication;
@ -117,8 +129,15 @@ namespace AIParkingApplication
PlateFrameImage = PlateFrameImageBase64, PlateFrameImage = PlateFrameImageBase64,
FrameImage = FrameImageBase64 FrameImage = FrameImageBase64
}; };
HttpResponseMessage response;
HttpResponseMessage response = await httpClient.PostAsJsonAsync("/api/save-logs", request); 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(); response.EnsureSuccessStatusCode();
SaveLogRespone saveLogRespone = await response.Content.ReadAsAsync<SaveLogRespone>(); SaveLogRespone saveLogRespone = await response.Content.ReadAsAsync<SaveLogRespone>();
return saveLogRespone; return saveLogRespone;