From 2e9c948da55609c752ec577ca8a097b71a51aa88 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 12 May 2023 18:41:18 +0200 Subject: [PATCH] Rest client in using x evitare eccessivo consumo RAM --- WebDoorCreator.SDK/WDC.cs | 158 ++++++++++++++++++++------------------ 1 file changed, 83 insertions(+), 75 deletions(-) diff --git a/WebDoorCreator.SDK/WDC.cs b/WebDoorCreator.SDK/WDC.cs index 9de45a3..4e90d7c 100644 --- a/WebDoorCreator.SDK/WDC.cs +++ b/WebDoorCreator.SDK/WDC.cs @@ -206,26 +206,28 @@ namespace WebDoorCreator.SDK { string answ = ""; // cerco online - RestClient client = new RestClient(apiUrl); - var request = new RestRequest(URL); - try + using (RestClient client = new RestClient(apiUrl)) { - var response = client.Get(request); - // controllo status code risposta - if (response.StatusCode == System.Net.HttpStatusCode.OK) + var request = new RestRequest(URL); + try { - // deserializzo risposta - answ = response.Content; + var response = client.Get(request); + // controllo status code risposta + if (response.StatusCode == System.Net.HttpStatusCode.OK) + { + // deserializzo risposta + answ = response.Content; + } + else + { + answ = "KO"; + } } - else + catch { - answ = "KO"; + answ = "ERR"; } } - catch - { - answ = "ERR"; - } // restituisco valore! return answ; } @@ -240,31 +242,33 @@ namespace WebDoorCreator.SDK { string answ = ""; // cerco online - RestClient client = new RestClient(apiUrl); - // compongo - string paramsQuery = ""; - foreach (var item in paramsList) + using (RestClient client = new RestClient(apiUrl)) { - paramsQuery += $"{item.Key}={item.Value}"; - } - var request = new RestRequest($"{URL}?{paramsQuery}"); - try - { - var response = client.Get(request); - // controllo status code risposta - if (response.StatusCode == System.Net.HttpStatusCode.OK) + // compongo + string paramsQuery = ""; + foreach (var item in paramsList) { - // deserializzo risposta - answ = response.Content; + paramsQuery += $"{item.Key}={item.Value}"; } - else + var request = new RestRequest($"{URL}?{paramsQuery}"); + try { - answ = "KO"; + var response = client.Get(request); + // controllo status code risposta + if (response.StatusCode == System.Net.HttpStatusCode.OK) + { + // deserializzo risposta + answ = response.Content; + } + else + { + answ = "KO"; + } + } + catch + { + answ = "ERR"; } - } - catch - { - answ = "ERR"; } // restituisco valore! return answ; @@ -280,27 +284,29 @@ namespace WebDoorCreator.SDK { string answ = ""; // cerco online - RestClient client = new RestClient(apiUrl); - var request = new RestRequest(URL); - request.AddJsonBody(payload); - try + using (RestClient client = new RestClient(apiUrl)) { - var response = client.Post(request); - // controllo status code risposta - if (response.StatusCode == System.Net.HttpStatusCode.OK) + var request = new RestRequest(URL); + request.AddJsonBody(payload); + try { - // deserializzo risposta - answ = response.Content; + var response = client.Post(request); + // controllo status code risposta + if (response.StatusCode == System.Net.HttpStatusCode.OK) + { + // deserializzo risposta + answ = response.Content; + } + else + { + answ = "KO"; + } } - else + catch { - answ = "KO"; + answ = "ERR"; } } - catch - { - answ = "ERR"; - } // restituisco valore! return answ; } @@ -316,39 +322,41 @@ namespace WebDoorCreator.SDK { string answ = ""; // cerco online - RestClient client = new RestClient(apiUrl); - var request = new RestRequest(URL); - // compongo - string paramsQuery = ""; - if (paramsList != null && paramsList.Count > 0) + using (RestClient client = new RestClient(apiUrl)) { - foreach (var item in paramsList) + var request = new RestRequest(URL); + // compongo + string paramsQuery = ""; + if (paramsList != null && paramsList.Count > 0) { - paramsQuery += $"{item.Key}={item.Value}"; + foreach (var item in paramsList) + { + paramsQuery += $"{item.Key}={item.Value}"; + } + request = new RestRequest($"{URL}?{paramsQuery}"); } - request = new RestRequest($"{URL}?{paramsQuery}"); - } - if (!string.IsNullOrEmpty(payload)) - { - request.AddJsonBody(payload); - } - try - { - var response = client.Post(request); - // controllo status code risposta - if (response.StatusCode == System.Net.HttpStatusCode.OK) + if (!string.IsNullOrEmpty(payload)) { - // deserializzo risposta - answ = response.Content; + request.AddJsonBody(payload); } - else + try { - answ = "KO"; + var response = client.Post(request); + // controllo status code risposta + if (response.StatusCode == System.Net.HttpStatusCode.OK) + { + // deserializzo risposta + answ = response.Content; + } + else + { + answ = "KO"; + } + } + catch + { + answ = "ERR"; } - } - catch - { - answ = "ERR"; } // restituisco valore! return answ;