Spostamento metodi x dominio da baseUtils

This commit is contained in:
Samuele Locatelli
2026-05-21 17:59:51 +02:00
parent fba55e0d7c
commit 6dcf2b103a
9 changed files with 239 additions and 558 deletions
+2 -1
View File
@@ -1,6 +1,7 @@
using IOB_UT_NEXT.Config;
using IOB_UT_NEXT.Config.Base;
using IOB_UT_NEXT.Config.Special;
using IOB_UT_NEXT.Iob.Services;
using MapoSDK;
using Newtonsoft.Json;
using NLog;
@@ -1067,7 +1068,7 @@ namespace IOB_UT_NEXT.Config
{
string rawData = GetYaml();
// prova anche ad inviare il contenuto al server IO...
string resp = utils.ExecCallPostPlain($"{urlSaveYaml}", rawData);
string resp = HttpService.ExecCallPostPlain($"{urlSaveYaml}", rawData);
answ = resp == "OK";
}
catch
+1
View File
@@ -204,6 +204,7 @@
<Compile Include="Iob\BaseObj.cs" />
<Compile Include="Iob\Services\DataSerializer.cs" />
<Compile Include="Iob\Services\HttpService.cs" />
<Compile Include="Iob\Services\NetService.cs" />
<Compile Include="Iob\Services\XmlDataSerializer.cs" />
<Compile Include="JobTask2Exe.cs" />
<Compile Include="MeasureUtils.cs" />
+78
View File
@@ -0,0 +1,78 @@
using NLog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;
namespace IOB_UT_NEXT.Iob.Services
{
public class NetService
{
#region Public Methods
/// <summary>
/// IP della macchina
/// </summary>
/// <returns></returns>
public static string GetIP()
{
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
String sIpAddr = string.Empty;
try
{
foreach (NetworkInterface adapter in nics)
{
if (sIpAddr == String.Empty)// only return IP Address from first card
{
IPInterfaceProperties properties = adapter.GetIPProperties();
foreach (var item in properties.UnicastAddresses)
{
if (item.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
sIpAddr = item.Address.ToString();
}
}
}
}
}
catch (Exception exc)
{
lg.Error(exc);
}
return sIpAddr;
}
/// <summary>
/// Macaddress della macchina
/// </summary>
/// <returns></returns>
public static string GetMACAddress()
{
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
String sMacAddress = string.Empty;
foreach (NetworkInterface adapter in nics)
{
if (sMacAddress == String.Empty)// only return MAC Address from first card
{
IPInterfaceProperties properties = adapter.GetIPProperties();
//sMacAddress = adapter.GetPhysicalAddress().ToString();
sMacAddress = string.Join(":", (from z in adapter.GetPhysicalAddress().GetAddressBytes() select z.ToString("X2")).ToArray());
}
}
return sMacAddress;
}
#endregion Public Methods
#region Internal Fields
/// <summary>
/// Classe logger
/// </summary>
internal static Logger lg = LogManager.GetCurrentClassLogger();
#endregion Internal Fields
}
}
+3 -377
View File
@@ -108,231 +108,6 @@ namespace IOB_UT_NEXT
return answ;
}
/// <summary>
/// Effettua chiamata URL e restituisce risultato, SE NON E' in veto send (x mitigare chiamate...)
/// </summary>
/// <param name="URL"></param>
/// <returns></returns>
public static string callUrl(string URL)
{
string answ = "";
// controllo se ho un VETO all'invio...
if (dtVetoSend < DateTime.Now)
{
answ = CallUrlGet(URL);
}
return answ;
}
/// <summary>
/// Effettua chiamata URL e restituisce risultato
/// </summary>
/// <param name="URL"></param>
/// <param name="payload"></param>
/// <returns></returns>
public static string callUrl(string URL, string payload)
{
string answ = "";
// controllo se ho un VETO all'invio...
if (dtVetoSend < DateTime.Now)
{
answ = CallUrlPost(URL, payload);
}
// restituisco valore!
return answ;
}
/// <summary>
/// Metodo chiamata URL con POST async
/// </summary>
/// <param name="URL"></param>
/// <param name="payload"></param>
/// <param name="ct"></param>
/// <returns></returns>
public static async Task<string> callUrlAsync(string URL, string payload, CancellationToken ct = default)
{
try
{
Stopwatch sw = new Stopwatch();
sw.Start();
// Se hai un payload, probabilmente è una POST
var content = new StringContent(payload, Encoding.UTF8, "application/json");
// Qui il thread viene RILASCIATO. La CPU dell'istanza va a 0%
// mentre aspetta la risposta dal server.
HttpResponseMessage response = await _httpClient.PostAsync(URL, content, ct);
response.EnsureSuccessStatusCode();
sw.Stop();
TrackUrlCall(URL, sw.Elapsed);
return await response.Content.ReadAsStringAsync();
}
catch (OperationCanceledException)
{
// Gestisci la cancellazione (quando chiudi l'app o scade il timeout)
return "Canceled";
}
catch (Exception ex)
{
// Gestisci errori di rete
return $"Error: {ex.Message}";
}
}
/// <summary>
/// Metodo chiamata URL con GET async
/// </summary>
/// <param name="URL"></param>
/// <param name="ct"></param>
/// <returns></returns>
public static async Task<string> callUrlAsync(string URL, CancellationToken ct = default)
{
try
{
Stopwatch sw = new Stopwatch();
sw.Start();
// Qui il thread viene RILASCIATO. La CPU dell'istanza va a 0%
// mentre aspetta la risposta dal server.
HttpResponseMessage response = await _httpClient.GetAsync(URL, ct);
response.EnsureSuccessStatusCode();
sw.Stop();
TrackUrlCall(URL, sw.Elapsed);
return await response.Content.ReadAsStringAsync();
}
catch (OperationCanceledException)
{
// Gestisci la cancellazione (quando chiudi l'app o scade il timeout)
return "Canceled";
}
catch (Exception ex)
{
// Gestisci errori di rete
return $"Error: {ex.Message}";
}
}
/// <summary>
/// Effettua chiamata URL IMMEDIATAMENTE e restituisce risultato
/// </summary>
/// <param name="URL"></param>
/// <returns></returns>
public static string CallUrlGet(string URL)
{
try
{
// Gestione certificati self-signed
HttpClientHandler handler = new HttpClientHandler();
if (URL.Contains("10.74.82."))
{
handler.ServerCertificateCustomValidationCallback =
HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
}
using (var client = new HttpClient(handler))
{
Stopwatch sw = new Stopwatch();
sw.Start();
// Timeout personalizzabile
client.Timeout = TimeSpan.FromMilliseconds(5000);
// Header custom
client.DefaultRequestHeaders.UserAgent.ParseAdd(CRS("appName"));
// GET sincrona
var response = client.GetAsync(URL).Result;
string answ = response.Content.ReadAsStringAsync().Result;
sw.Stop();
TrackUrlCall(URL, sw.Elapsed);
return answ;
}
}
catch (Exception exc)
{
int pauseSendMSec = nextPauseSendMSec;
dtVetoSend = DateTime.Now.AddMilliseconds(pauseSendMSec);
if (logValuePermit(URL))
{
lg.Error($"CallUrlGet | Errore chiamando {URL} | wait {pauseSendMSec} ms{Environment.NewLine}Eccezione:{Environment.NewLine}{exc}");
}
return "";
}
}
/// <summary>
/// Effettua chiamata IMMEDIATAMENTE URL e restituisce risultato
/// </summary>
/// <param name="URL"></param>
/// <param name="payload"></param>
/// <returns></returns>
public static string CallUrlPost(string URL, string payload)
{
string answ = "";
Stopwatch sw = new Stopwatch();
sw.Start();
try
{
// Gestione certificati self-signed
HttpClientHandler handler = new HttpClientHandler();
if (URL.Contains("10.74."))
{
handler.ServerCertificateCustomValidationCallback =
HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
}
using (var client = new HttpClient(handler))
{
// Timeout personalizzabile
client.Timeout = TimeSpan.FromMilliseconds(5000);
// Header custom
client.DefaultRequestHeaders.UserAgent.ParseAdd($"{CRS("appName")}-PAYLOAD");
// Corpo JSON
var content = new StringContent(payload, Encoding.UTF8, "application/json");
// POST sincrono
var response = client.PostAsync(URL, content).Result;
answ = response.Content.ReadAsStringAsync().Result;
// Log identico al tuo
if (answ != "OK")
{
if (logValuePermit($"{URL}|[{answ}]"))
{
lg.Error($"CallUrlPost | POST fallito | ans: [{answ}]:{Environment.NewLine}- URL{Environment.NewLine}{URL}{Environment.NewLine}- payload{Environment.NewLine}{payload}");
}
}
}
}
catch (Exception exc)
{
int pauseSendMSec = nextPauseSendMSec;
dtVetoSend = DateTime.Now.AddMilliseconds(pauseSendMSec);
if (logValuePermit(URL))
{
lg.Error($"CallUrlPost | Errore chiamando {URL} | wait {pauseSendMSec} ms | Dump Payload:{Environment.NewLine}{payload}{Environment.NewLine}Eccezione:{Environment.NewLine}{exc}");
}
}
sw.Stop();
TrackUrlCall(URL, sw.Elapsed);
return answ;
}
/// <summary>
/// Test esistenza/creazione directory
/// </summary>
@@ -418,157 +193,6 @@ namespace IOB_UT_NEXT
return ConfigurationManager.AppSettings[key] ?? string.Empty;
}
/// <summary>
/// Effettua chiamata URL tramite RestSharp e restituisce risultato, SE NON E' in veto send (x mitigare chiamate...)
/// </summary>
/// <param name="url">URI da chiamare</param>
/// <param name="fastCall">Chiamata rapida (timeout rapido = 5sec)</param>
/// <returns></returns>
public static string ExecCallGet(string url, bool fastCall = false)
{
string answ = "";
// divido key tra base e opzionale...
Uri uri = new Uri(url);
string baseUrl = $"{uri.Scheme}://{uri.Host}{(uri.IsDefaultPort ? "" : $":{uri.Port}")}";
string resource = uri.AbsolutePath;
RestClientOptions restOptStd = new RestClientOptions
{
BaseUrl = new Uri(baseUrl),
Timeout = TimeSpan.FromSeconds(60)
};
if (!string.IsNullOrEmpty(url))
{
if (fastCall)
{
restOptStd.Timeout = TimeSpan.FromSeconds(5);
}
try
{
// client chiamate rest
using (var client = new RestClient(restOptStd))
{
var actReq = new RestRequest(resource, Method.Get);
// effettuo vera chiamata
var currResp = client.Get(actReq);
if (currResp.StatusCode == System.Net.HttpStatusCode.OK && currResp.Content != null)
{
answ = currResp.Content ?? "";
}
}
}
catch (Exception exc)
{
lg.Error($"Eccezione in callRestUrl{Environment.NewLine}{exc}");
}
}
return answ;
}
/// <summary>
/// Effettua chiamata URL tramite RestSharp e restituisce risultato, SE NON E' in veto send (x mitigare chiamate...)
/// </summary>
/// <param name="url">URI da chiamare</param>
/// <param name="payload">Payload da allegare (già serializzato)</param>
/// <param name="fastCall">Chiamata rapida (timeout rapido = 5sec)</param>
/// <returns></returns>
public static string ExecCallPostJson(string url, string payload, bool fastCall = false)
{
string answ = "";
// divido key tra base e opzionale...
Uri uri = new Uri(url);
string baseUrl = $"{uri.Scheme}://{uri.Host}{(uri.IsDefaultPort ? "" : $":{uri.Port}")}";
string resource = uri.AbsolutePath;
RestClientOptions restOptStd = new RestClientOptions
{
BaseUrl = new Uri(baseUrl),
Timeout = TimeSpan.FromSeconds(60)
};
Stopwatch sw = new Stopwatch();
sw.Start();
if (!string.IsNullOrEmpty(url))
{
if (fastCall)
{
restOptStd.Timeout = TimeSpan.FromSeconds(5);
}
try
{
// client chiamate rest
using (var client = new RestClient(restOptStd))
{
var actReq = new RestRequest(resource, Method.Post);
actReq.AddJsonBody(payload);
// effettuo vera chiamata
var currResp = client.Post(actReq);
if (currResp.StatusCode == System.Net.HttpStatusCode.OK && currResp.Content != null)
{
answ = currResp.Content ?? "";
}
}
}
catch (Exception exc)
{
lg.Error($"Eccezione in callRestUrlJson{Environment.NewLine}{exc}");
}
}
return answ;
}
/// <summary>
/// Effettua chiamata URL tramite RestSharp e restituisce risultato, SE NON E' in veto send (x mitigare chiamate...)
/// </summary>
/// <param name="url">URI da chiamare</param>
/// <param name="payload">Payload da allegare (già serializzato)</param>
/// <param name="fastCall">Chiamata rapida (timeout rapido = 5sec)</param>
/// <returns></returns>
public static string ExecCallPostPlain(string url, string payload, bool fastCall = false)
{
string answ = "";
// divido key tra base e opzionale...
Uri uri = new Uri(url);
string baseUrl = $"{uri.Scheme}://{uri.Host}{(uri.IsDefaultPort ? "" : $":{uri.Port}")}";
string resource = uri.AbsolutePath;
RestClientOptions restOptStd = new RestClientOptions
{
BaseUrl = new Uri(baseUrl),
Timeout = TimeSpan.FromSeconds(60)
};
Stopwatch sw = new Stopwatch();
sw.Start();
if (!string.IsNullOrEmpty(url))
{
if (fastCall)
{
restOptStd.Timeout = TimeSpan.FromSeconds(5);
}
try
{
// client chiamate rest
using (var client = new RestClient(restOptStd))
{
var actReq = new RestRequest(resource, Method.Post);
actReq.AddStringBody(payload, ContentType.Plain);
// effettuo vera chiamata
var currResp = client.Post(actReq);
if (currResp.StatusCode == System.Net.HttpStatusCode.OK && currResp.Content != null)
{
answ = currResp.Content ?? "";
}
}
}
catch (Exception exc)
{
lg.Error($"Eccezione in callRestUrlJson | rawUrl: {url} {Environment.NewLine}{exc}");
}
}
sw.Stop();
TrackUrlCall(url, sw.Elapsed);
return answ;
}
/// <summary>
/// Calcolo MD5 del fine indicato
/// </summary>
@@ -603,6 +227,7 @@ namespace IOB_UT_NEXT
return num;
}
#if false
/// <summary>
/// IP della macchina
/// </summary>
@@ -657,7 +282,8 @@ namespace IOB_UT_NEXT
}
}
return sMacAddress;
}
}
#endif
/// <summary>
/// Restituisce una stringa di soli caratteri numerici (stripe caratteri alfabetici)
+2 -1
View File
@@ -1,4 +1,5 @@
using System;
using IOB_UT_NEXT.Iob.Services;
using System;
using System.IO;
using System.Linq;
+5 -4
View File
@@ -1,6 +1,7 @@
using IOB_UT_NEXT;
using IOB_UT_NEXT.Config;
using IOB_UT_NEXT.Config.Base;
using IOB_UT_NEXT.Iob.Services;
using MapoSDK;
using Newtonsoft.Json;
using NLog;
@@ -1461,7 +1462,7 @@ namespace IOB_WIN_FORM
// salvo nuovo valore invio
iobObj.LastSendSet(sendKey, DateTime.Now);
// segnalo reboot (programma - url file)...
await utils.callUrlAsync(iobObj.urlReboot);
await HttpService.CallUrlAsync(iobObj.urlReboot);
}
}
else
@@ -2271,16 +2272,16 @@ namespace IOB_WIN_FORM
if (utils.CRB("ConfToCloud"))
{
// invio su cloud...
answ = await utils.callUrlAsync($"{urlUploadFileCloud}{CurrIOB}", rawData);
answ = await HttpService.CallUrlAsync($"{urlUploadFileCloud}{CurrIOB}", rawData);
}
else
{
// provo invio locale
answ = utils.callUrl($"{urlUploadFile}{CurrIOB}", rawData);
answ = HttpService.CallUrl($"{urlUploadFile}{CurrIOB}", rawData);
// se va male invio cloud...
if (answ.ToUpper() != "OK")
{
answ = await utils.callUrlAsync($"{urlUploadFileCloud}{CurrIOB}", rawData);
answ = await HttpService.CallUrlAsync($"{urlUploadFileCloud}{CurrIOB}", rawData);
}
}
}
+59 -59
View File
@@ -1426,7 +1426,7 @@ namespace IOB_WIN_FORM.Iob
if (!isMulti)
{
// invio chiamata URL x reset ODL su macchina
rawSplit = await utils.callUrlAsync(urlForceSplit);
rawSplit = await HttpService.CallUrlAsync(urlForceSplit);
fatto = (rawSplit != "KO") ? true : false;
}
// se multi gestisco il bit delle tavole...
@@ -1437,7 +1437,7 @@ namespace IOB_WIN_FORM.Iob
// invio chiamata URL x reset ODL su macchina, ATTENZIONE scriviamo
// | al posto di "#" che in URL sarebbe filtrato...
fullUrl = $"{urlForceSplit}&multi={item}";
rawSplit = await utils.callUrlAsync(fullUrl);
rawSplit = await HttpService.CallUrlAsync(fullUrl);
lgDebug($"Esecuzione forceSplit | URL: {fullUrl} | esito: {rawSplit}");
}
fatto = (rawSplit == "OK") ? true : false;
@@ -2063,7 +2063,7 @@ namespace IOB_WIN_FORM.Iob
lgTrace("AutoSnapshotDossier abilitato");
// chiamo stored x creare Snapshot Dossier giornalieri fino alla data...
callResp = utils.callUrl(urlFixDailyDossier);
callResp = HttpService.CallUrl(urlFixDailyDossier);
fatto = callResp == "OK";
lgDebug($"Esecuzione ProcessAutoDossier completata --> esito: {callResp}");
}
@@ -2143,7 +2143,7 @@ namespace IOB_WIN_FORM.Iob
if (dtStart.Date < adesso.Date)
{
// chiamo stored x creare ODL giornalieri alla data...
string autoOdlRes = utils.callUrl(urlFixDailyOdl);
string autoOdlRes = HttpService.CallUrl(urlFixDailyOdl);
fatto = autoOdlRes == "OK";
// imposto x prox controllo veto a 10 min
VetoProcessAutoOdl = adesso.AddMinutes(10);
@@ -2165,7 +2165,7 @@ namespace IOB_WIN_FORM.Iob
if (!isMulti)
{
// chiamo stored x creare ODL giornalieri alla data + conferma pezzi...
autoOdlRes = utils.callUrl(urlFixDailyOdlConfPzCount);
autoOdlRes = HttpService.CallUrl(urlFixDailyOdlConfPzCount);
}
else
{
@@ -2173,7 +2173,7 @@ namespace IOB_WIN_FORM.Iob
foreach (var item in IOBConfFull.Device.MultiIobList)
{
fullUrl = $@"{urlCommand("fixDailyOdlConfPzCount")}{item}";
autoOdlRes = await utils.callUrlAsync(fullUrl);
autoOdlRes = await HttpService.CallUrlAsync(fullUrl);
}
}
fatto = autoOdlRes == "OK";
@@ -2197,7 +2197,7 @@ namespace IOB_WIN_FORM.Iob
rawDataInizio = "";
if (!isMulti)
{
rawDataInizio = await utils.callUrlAsync(urlInizioOdlIob);
rawDataInizio = await HttpService.CallUrlAsync(urlInizioOdlIob);
DateTime.TryParse(rawDataInizio, out inizioOdl);
}
else
@@ -2207,7 +2207,7 @@ namespace IOB_WIN_FORM.Iob
foreach (var item in IOBConfFull.Device.MultiIobList)
{
fullUrl = $"{urlInizioOdlIob}|{item}";
rawDataInizio = await utils.callUrlAsync(fullUrl);
rawDataInizio = await HttpService.CallUrlAsync(fullUrl);
DateTime.TryParse(rawDataInizio, out tmpData);
inizioOdl = (tmpData < inizioOdl) ? tmpData : inizioOdl;
}
@@ -2221,7 +2221,7 @@ namespace IOB_WIN_FORM.Iob
{
// controllo SE sono fermo (spento o in manuale) per il
// periodo minimo richiesto...
rawIdle = await utils.callUrlAsync(urlIdleTime);
rawIdle = await HttpService.CallUrlAsync(urlIdleTime);
int.TryParse(rawIdle, out idlePeriod);
}
else
@@ -2231,7 +2231,7 @@ namespace IOB_WIN_FORM.Iob
foreach (var item in IOBConfFull.Device.MultiIobList)
{
fullUrl = $"{urlIdleTime}|{item}";
rawIdle = await utils.callUrlAsync(fullUrl);
rawIdle = await HttpService.CallUrlAsync(fullUrl);
int.TryParse(rawIdle, out tmpIdle);
idlePeriod = tmpIdle > idlePeriod ? tmpIdle : idlePeriod;
}
@@ -2246,7 +2246,7 @@ namespace IOB_WIN_FORM.Iob
// fare, se sfora (RANDOM) > +(50...110)% --> cambia!
if (!callChangeODL && IOBConfFull.Odl.ChangeOdlMode == "SIMUL")
{
var rawCount = await utils.callUrlAsync(urlGetNumPzCurrODL);
var rawCount = await HttpService.CallUrlAsync(urlGetNumPzCurrODL);
if (int.TryParse(rawCount, out var numPzReqOdl))
{
int limitQty = (numPzReqOdl * rndGen.Next(150, 210)) / 100;
@@ -2756,21 +2756,21 @@ namespace IOB_WIN_FORM.Iob
{
// leggo PRIMA ODL ....
calcUrl = string.IsNullOrEmpty(forceMach) ? urlGetCurrODL : urlGetCurrODL.Replace(IOBConfFull.General.CodIOB, forceMach);
lastIdxODL = utils.callUrl(calcUrl);
lastIdxODL = HttpService.CallUrl(calcUrl);
lgTrace($"Lettura ODL dall'url {calcUrl} --> {lastIdxODL}");
// se ho valori in coda da trasmettere uso dati REDIS
if (forceCountRec)
{
// uso dati da TCiclo registrati...
calcUrl = string.IsNullOrEmpty(forceMach) ? urlGetPzCountRec : urlGetPzCountRec.Replace(IOBConfFull.General.CodIOB, forceMach);
currServerCount = utils.callUrl(calcUrl);
currServerCount = HttpService.CallUrl(calcUrl);
lgInfo($"Lettura contapezzi da TCiclo registrati dall'url {calcUrl} --> num pz: {currServerCount}");
}
else
{
// uso il contapezzi dichiarato dall'IOB stesso
calcUrl = string.IsNullOrEmpty(forceMach) ? urlGetPzCount : urlGetPzCount.Replace(IOBConfFull.General.CodIOB, forceMach);
currServerCount = utils.callUrl(calcUrl);
currServerCount = HttpService.CallUrl(calcUrl);
lgInfo($"Lettura contapezzi dall'url {calcUrl} --> {currServerCount}");
}
// controllo: SE NON HO ODL...
@@ -3213,8 +3213,8 @@ namespace IOB_WIN_FORM.Iob
}
string rawData = JsonConvert.SerializeObject(ActiveAlarmList);
string resp = utils.CallUrlPost(lastUrl, rawData);
//string resp = utils.callUrlAsync(lastUrl, rawData);
string resp = HttpService.CallUrlPost(lastUrl, rawData);
//string resp = HttpService.CallUrlAsync(lastUrl, rawData);
if (resp != null)
{
if (resp.ToUpper() == "OK")
@@ -3258,7 +3258,7 @@ namespace IOB_WIN_FORM.Iob
if (await CheckServerAliveAsync())
{
// chiamo URL!
string answ = await utils.callUrlAsync(lastUrl, payload);
string answ = await HttpService.CallUrlAsync(lastUrl, payload);
// loggo!
lgInfo($"[SEND payload] TipoURL: {tipoUrl} | {listQueueVal.Count} records --> {answ}");
@@ -3346,7 +3346,7 @@ namespace IOB_WIN_FORM.Iob
if (await CheckServerAliveAsync())
{
// chiamo URL!
string answ = await utils.callUrlAsync(lastUrl);
string answ = await HttpService.CallUrlAsync(lastUrl);
// loggo!
lgDebug(string.Format("[SEND] {0} -> {1}", queueVal, answ));
// se oltre 1 min NON era online --> check pezzi!
@@ -3870,7 +3870,7 @@ namespace IOB_WIN_FORM.Iob
await Task.Delay(rand.Next(150, 500));
}
string resp = await utils.callUrlAsync(urlAlive);
string resp = await HttpService.CallUrlAsync(urlAlive);
if (resp == "OK") return true;
}
catch (Exception ex)
@@ -5252,7 +5252,7 @@ namespace IOB_WIN_FORM.Iob
// vieto controllo prima di 5 sec... da configurare?
if (DateTime.Now.Subtract(vetoCheckOdl).TotalSeconds > IOBConfFull.Odl.VetoCheckOdlSec)
{
string sCurrODL = utils.CallUrlGet(urlGetCurrODL);
string sCurrODL = HttpService.CallUrlGet(urlGetCurrODL);
int.TryParse(sCurrODL, out cODL);
currIdxODL = cODL;
vetoCheckOdl = DateTime.Now;
@@ -5594,7 +5594,7 @@ namespace IOB_WIN_FORM.Iob
{
lgInfo("chiamata URL " + url2call);
}
var rawData = utils.CallUrlGet(url2call);
var rawData = HttpService.CallUrlGet(url2call);
// deserializzo e recupero KVP...
var dictArtSrv = JsonConvert.DeserializeObject<Dictionary<string, string>>(rawData);
// se fosse una chiamata con valore vuoto --> salvo intera tabella...
@@ -5641,7 +5641,7 @@ namespace IOB_WIN_FORM.Iob
lgInfo("chiamata URL " + url2call);
}
// è direttamente il risultato!
answ = utils.CallUrlGet(url2call);
answ = HttpService.CallUrlGet(url2call);
}
// restituisco
return answ;
@@ -5659,11 +5659,11 @@ namespace IOB_WIN_FORM.Iob
{
lgInfo("chiamata URL " + url2call);
}
answ = utils.CallUrlGet(url2call);
answ = HttpService.CallUrlGet(url2call);
// se vuoto faccio seconda prova...
if (string.IsNullOrEmpty(answ) || answ == "[]")
{
answ = utils.CallUrlGet(url2call);
answ = HttpService.CallUrlGet(url2call);
}
return answ;
}
@@ -5704,7 +5704,7 @@ namespace IOB_WIN_FORM.Iob
{
lgInfo("chiamata URL " + url2call);
}
answ = await utils.callUrlAsync(url2call);
answ = await HttpService.CallUrlAsync(url2call);
}
return answ;
}
@@ -6182,7 +6182,7 @@ namespace IOB_WIN_FORM.Iob
// PONTE SYNC/ASYNC: Ora sw.Stop() aspetterà la fine reale dell'operazione
Task.Run(async () =>
{
var rawListPODL = await utils.callUrlAsync(urlGetNextPODL);
var rawListPODL = await HttpService.CallUrlAsync(urlGetNextPODL);
if (!string.IsNullOrEmpty(rawListPODL))
{
reqPOdlList = JsonConvert.DeserializeObject<List<PODLModel>>(rawListPODL) ?? new List<PODLModel>();
@@ -6324,7 +6324,7 @@ namespace IOB_WIN_FORM.Iob
DateTime dataDoc = DateTime.Today;
DateTime.TryParse(fileName, out dataDoc);
// cerco lotto x giornata...
string sIdxODL = utils.callUrl(urlGetOdlAtDate(dataDoc));
string sIdxODL = HttpService.CallUrl(urlGetOdlAtDate(dataDoc));
int.TryParse(sIdxODL, out idxODL);
// chiamo conversione
TimeSpan timeElaps = fpm.doProcess(fileItem, idxODL);
@@ -6435,7 +6435,7 @@ namespace IOB_WIN_FORM.Iob
plcWriteParams(ref updatedPar);
// invio su cloud parametri!
string rawData = JsonConvert.SerializeObject(updatedPar);
utils.callUrl($"{urlUpdateWriteParams}", rawData);
HttpService.CallUrl($"{urlUpdateWriteParams}", rawData);
lgInfo($"Notifica a server scrittura {updatedPar.Count} parametri");
}
}
@@ -6726,7 +6726,7 @@ namespace IOB_WIN_FORM.Iob
// invio ANCHE in MP-IO l'update delle info...
string remUrl = urlSetHashDict;
string dictPayload = JsonConvert.SerializeObject(redHashWeek);
await utils.callUrlAsync(remUrl, dictPayload);
await HttpService.CallUrlAsync(remUrl, dictPayload);
}
}
@@ -6986,7 +6986,7 @@ namespace IOB_WIN_FORM.Iob
// PONTE SYNC/ASYNC: Ora sw.Stop() aspetterà la fine reale dell'operazione
Task.Run(async () =>
{
var rawListPODL = await utils.callUrlAsync(urlGetNextPODL);
var rawListPODL = await HttpService.CallUrlAsync(urlGetNextPODL);
if (!string.IsNullOrEmpty(rawListPODL))
{
try
@@ -7128,7 +7128,7 @@ namespace IOB_WIN_FORM.Iob
url2call = $"{urlRemTask2ExeTav(codTav)}{taskName}";
}
await utils.callUrlAsync(url2call);
await HttpService.CallUrlAsync(url2call);
}
return answ;
}
@@ -7179,7 +7179,7 @@ namespace IOB_WIN_FORM.Iob
{
bool answ = false;
DateTime dtCurr = DateTime.Now;
string resp = await utils.callUrlAsync($"{urlODLClose}{idxOdl}&dtEve={dtRif}&dtCurr={dtCurr}");
string resp = await HttpService.CallUrlAsync($"{urlODLClose}{idxOdl}&dtEve={dtRif}&dtCurr={dtCurr}");
answ = resp == "OK";
return answ;
}
@@ -7200,7 +7200,7 @@ namespace IOB_WIN_FORM.Iob
Task.Run(async () =>
{
// invio chiamata URL x chiusura ODL su macchina
string callResp = await utils.callUrlAsync(fullUrl);
string callResp = await HttpService.CallUrlAsync(fullUrl);
answ = callResp == "OK";
})
.GetAwaiter()
@@ -7277,7 +7277,7 @@ namespace IOB_WIN_FORM.Iob
// salvo nuovo valore invio
LastSendSet(sendKey, DateTime.Now);
// procedo
var result = await utils.callUrlAsync(urlSetM2IOB);
var result = await HttpService.CallUrlAsync(urlSetM2IOB);
lgInfo($"chiamata URL {urlSetM2IOB} | result: {result}");
}
}
@@ -7351,7 +7351,7 @@ namespace IOB_WIN_FORM.Iob
// invio e salvo...
string remUrl = urlSaveMachIobConf;
string dictPayload = JsonConvert.SerializeObject(currDict);
await utils.callUrlAsync(remUrl, dictPayload);
await HttpService.CallUrlAsync(remUrl, dictPayload);
lgTrace("Invio MachineConf effettuato");
}
}
@@ -7377,7 +7377,7 @@ namespace IOB_WIN_FORM.Iob
{
string url2call = $"{urlSetOptVal}pName={paramName}&pValue={paramValue}";
lgInfo("chiamata URL " + url2call);
await utils.callUrlAsync(url2call);
await HttpService.CallUrlAsync(url2call);
}
}
}
@@ -7410,7 +7410,7 @@ namespace IOB_WIN_FORM.Iob
Task.Run(async () =>
{
// invio chiamata URL x chiusura ODL su macchina
string callResp = await utils.callUrlAsync(fullUrl);
string callResp = await HttpService.CallUrlAsync(fullUrl);
answ = callResp == "OK";
})
.GetAwaiter()
@@ -7440,7 +7440,7 @@ namespace IOB_WIN_FORM.Iob
Task.Run(async () =>
{
// invio chiamata URL x chiusura ODL su macchina
string callResp = await utils.callUrlAsync(fullUrl);
string callResp = await HttpService.CallUrlAsync(fullUrl);
answ = callResp == "OK";
})
.GetAwaiter()
@@ -7606,7 +7606,7 @@ namespace IOB_WIN_FORM.Iob
// se abilitato faccio invio e salvo nuovo valore
if (sendEnab)
{
var resp = utils.callUrl($"{urlSaveMemMap}", rawData);
var resp = HttpService.CallUrl($"{urlSaveMemMap}", rawData);
}
}
else
@@ -7681,7 +7681,7 @@ namespace IOB_WIN_FORM.Iob
// versione upsert
tipoCall = urlUpdateWriteParams;
}
var resp = utils.callUrl($"{tipoCall}", rawData);
var resp = HttpService.CallUrl($"{tipoCall}", rawData);
}
else
{
@@ -7993,7 +7993,7 @@ namespace IOB_WIN_FORM.Iob
try
{
// invio chiamata URL x chiusura ODL su macchina
string callResp = await utils.callUrlAsync(fullUrl);
string callResp = await HttpService.CallUrlAsync(fullUrl);
fatto = (callResp != "KO") ? true : false;
}
catch
@@ -8037,7 +8037,7 @@ namespace IOB_WIN_FORM.Iob
try
{
// invio chiamata URL x chiusura ODL su macchina
string callResp = await utils.callUrlAsync(fullUrl);
string callResp = await HttpService.CallUrlAsync(fullUrl);
fatto = (callResp != "KO") ? true : false;
}
catch
@@ -8083,7 +8083,7 @@ namespace IOB_WIN_FORM.Iob
try
{
// invio chiamata URL x chiusura ODL su macchina
string callResp = await utils.callUrlAsync(fullUrl);
string callResp = await HttpService.CallUrlAsync(fullUrl);
fatto = (callResp != "KO") ? true : false;
}
catch
@@ -8107,7 +8107,7 @@ namespace IOB_WIN_FORM.Iob
Task.Run(async () =>
{
// invio chiamata URL x chiusura ODL su macchina
string callResp = await utils.callUrlAsync(fullUrl);
string callResp = await HttpService.CallUrlAsync(fullUrl);
fatto = (callResp != "KO") ? true : false;
})
.GetAwaiter()
@@ -8139,7 +8139,7 @@ namespace IOB_WIN_FORM.Iob
Task.Run(async () =>
{
// invio chiamata URL x chiusura ODL su macchina
string callResp = await utils.callUrlAsync(fullUrl);
string callResp = await HttpService.CallUrlAsync(fullUrl);
fatto = (callResp != "KO") ? true : false;
})
.GetAwaiter()
@@ -8168,7 +8168,7 @@ namespace IOB_WIN_FORM.Iob
// PONTE SYNC/ASYNC: Ora sw.Stop() aspetterà la fine reale dell'operazione
Task.Run(async () =>
{
string resp = await utils.callUrlAsync(urlEncoded);
string resp = await HttpService.CallUrlAsync(urlEncoded);
int.TryParse(resp, out answ);
})
.GetAwaiter()
@@ -8214,7 +8214,7 @@ namespace IOB_WIN_FORM.Iob
numIncr = delta > maxSendPzCountBlock + minSendPzCountBlock ? maxSendPzCountBlock : delta - minSendPzCountBlock;
// invio il num max di pezzi ammesso in blocco!
lastUrl = $"{urlAddPzCount}{numIncr}".Replace(IOBConfFull.General.CodIOB, fullCode);
string resp = utils.CallUrlGet(lastUrl);
string resp = HttpService.CallUrlGet(lastUrl);
if (!string.IsNullOrEmpty(resp))
{
// dalla risposta (come numero) capisco SE ha aggiunto i pezzi (e quanti)
@@ -8226,7 +8226,7 @@ namespace IOB_WIN_FORM.Iob
lgInfo($"SEND incremento contapezzi: send: {numIncr} | resp: {qtyAdded} | contapezziMES: {pzCountMes}");
// invio conferma contapezzi..
string fullUrl = $"{urlSetPzCount}{pzCountMes}".Replace(IOBConfFull.General.CodIOB, fullCode);
string retVal = utils.callUrl(fullUrl);
string retVal = HttpService.CallUrl(fullUrl);
// verifica se tutto OK
if (retVal != $"{pzCountMes}")
{
@@ -8288,7 +8288,7 @@ namespace IOB_WIN_FORM.Iob
numIncr = delta > maxSendPzCountBlock + minSendPzCountBlock ? maxSendPzCountBlock : delta - minSendPzCountBlock;
// invio il num max di pezzi ammesso in blocco!
lastUrl = $"{urlAddPzCount}{numIncr}";
string resp = utils.CallUrlGet(lastUrl);
string resp = HttpService.CallUrlGet(lastUrl);
if (!string.IsNullOrEmpty(resp))
{
// dalla risposta (come numero) capisco SE ha aggiunto i pezzi (e quanti)
@@ -8300,7 +8300,7 @@ namespace IOB_WIN_FORM.Iob
lgInfo($"SEND incremento contapezzi: send: {numIncr} | resp: {qtyAdded} | contapezziIOB: {contapezziIOB}");
// invio conferma contapezzi..
string fullUrl = $"{urlSetPzCount}{contapezziIOB}";
string retVal = utils.callUrl(fullUrl);
string retVal = HttpService.CallUrl(fullUrl);
// verifica se tutto OK
if (retVal != contapezziIOB.ToString())
{
@@ -8434,7 +8434,7 @@ namespace IOB_WIN_FORM.Iob
try
{
// invio chiamata URL x avvio PODL su macchina
string rawSplit = await utils.callUrlAsync(fullUrl);
string rawSplit = await HttpService.CallUrlAsync(fullUrl);
fatto = (rawSplit != "KO") ? true : false;
}
catch
@@ -8459,7 +8459,7 @@ namespace IOB_WIN_FORM.Iob
try
{
// invio chiamata URL x avvio PODL su macchina
string rawSplit = await utils.callUrlAsync(fullUrl);
string rawSplit = await HttpService.CallUrlAsync(fullUrl);
fatto = (rawSplit != "KO") ? true : false;
}
catch
@@ -8760,7 +8760,7 @@ namespace IOB_WIN_FORM.Iob
private async Task<DateTime> currOdlStart()
{
DateTime inizioOdl = DateTime.Now;
string rawDataInizio = await utils.callUrlAsync(urlInizioOdlIob);
string rawDataInizio = await HttpService.CallUrlAsync(urlInizioOdlIob);
DateTime.TryParse(rawDataInizio, out inizioOdl);
return inizioOdl;
}
@@ -8900,7 +8900,7 @@ namespace IOB_WIN_FORM.Iob
await Task.Delay(delay);
}
string callResp = await utils.callUrlAsync(urlIobEnabled);
string callResp = await HttpService.CallUrlAsync(urlIobEnabled);
if (callResp == "OK") return true;
}
catch (Exception exc)
@@ -9208,7 +9208,7 @@ namespace IOB_WIN_FORM.Iob
plcWriteParams(ref updatedPar);
// invio su cloud parametri!
string rawData = JsonConvert.SerializeObject(updatedPar);
utils.CallUrlPost($"{urlUpdateWriteParams}", rawData);
HttpService.CallUrlPost($"{urlUpdateWriteParams}", rawData);
lgInfo($"Notificato a server scrittura {updatedPar.Count} parametri");
}
else
@@ -9218,7 +9218,7 @@ namespace IOB_WIN_FORM.Iob
{
// invio su cloud parametri!
string rawData = JsonConvert.SerializeObject(currWritePar);
var res = utils.CallUrlPost($"{urlUpdateWriteParams}", rawData);
var res = HttpService.CallUrlPost($"{urlUpdateWriteParams}", rawData);
lgInfo($"Reinviato a server stato {updatedPar.Count} parametri WRITE");
lastWriteParamsUpsert = adesso;
}
@@ -9473,12 +9473,12 @@ namespace IOB_WIN_FORM.Iob
// prova ad avviare/chiudere PODL relativo (eventualmente duplicandolo)
dtEve = $"{dtStartPOdl:yyyyMMddHHmmssfff}";
dtCurr = $"{DateTime.Now:yyyyMMddHHmmssfff}";
await utils.callUrlAsync($"{urlOdlStartFromPOdl}{idxPOdl}&dtEve={dtEve}&dtCurr={dtCurr}");
await HttpService.CallUrlAsync($"{urlOdlStartFromPOdl}{idxPOdl}&dtEve={dtEve}&dtCurr={dtCurr}");
// ora chiamo chiusura...
dtEve = $"{dtEndPOdl:yyyyMMddHHmmssfff}";
dtCurr = $"{DateTime.Now:yyyyMMddHHmmssfff}";
await utils.callUrlAsync($"{urlPODLClose}{idxPOdl}&dtEve={dtEve}&dtCurr={dtCurr}");
await HttpService.CallUrlAsync($"{urlPODLClose}{idxPOdl}&dtEve={dtEve}&dtCurr={dtCurr}");
})
.GetAwaiter()
.GetResult();
@@ -9506,7 +9506,7 @@ namespace IOB_WIN_FORM.Iob
// invio ANCHE in MP-IO l'update delle info...
string remUrl = urlSetHashDict;
string dictPayload = JsonConvert.SerializeObject(currDict);
await utils.callUrlAsync(remUrl, dictPayload);
await HttpService.CallUrlAsync(remUrl, dictPayload);
//await callUrlWithPayloadAsync(remUrl, dictPayload, true);
//await callUrlWithPayloadAsync(remUrl, dictPayload, false);
}
+14 -13
View File
@@ -1,5 +1,6 @@
using IOB_UT_NEXT;
using IOB_UT_NEXT.Config;
using IOB_UT_NEXT.Iob.Services;
using MapoSDK;
using Newtonsoft.Json;
using System;
@@ -1045,7 +1046,7 @@ namespace IOB_WIN_FORM.Iob
DateTime adesso = DateTime.Now;
// faccio cmq tutto...
string autoOdlRes = utils.callUrl(urlFixDailyOdl);
string autoOdlRes = HttpService.CallUrl(urlFixDailyOdl);
// salvo lettura
lastReadPLC = adesso;
@@ -1267,7 +1268,7 @@ namespace IOB_WIN_FORM.Iob
{
fullUrl = $"{urlSetPzCount.Replace(IOBConfFull.General.CodIOB, $"{IOBConfFull.General.CodIOB}|TAV_{nP}")}{contapezziPLC}";
}
string retVal = utils.callUrl(fullUrl);
string retVal = HttpService.CallUrl(fullUrl);
// verifica salvataggio
if (retVal != contapezziIOB.ToString())
{
@@ -1279,7 +1280,7 @@ namespace IOB_WIN_FORM.Iob
}
else
{
string retVal = utils.callUrl($"{urlSetPzCount}{contapezziIOB}");
string retVal = HttpService.CallUrl($"{urlSetPzCount}{contapezziIOB}");
if (retVal != contapezziIOB.ToString())
{
// errore salvataggio contapezzi
@@ -1442,7 +1443,7 @@ namespace IOB_WIN_FORM.Iob
{
fullUrl = $"{urlSetPzCount.Replace(IOBConfFull.General.CodIOB, $"{IOBConfFull.General.CodIOB}|TAV_{nP}")}{contapezziIOB}";
}
string retVal = utils.callUrl(fullUrl);
string retVal = HttpService.CallUrl(fullUrl);
// verifica se tutto OK
if (retVal != contapezziIOB.ToString())
{
@@ -1496,7 +1497,7 @@ namespace IOB_WIN_FORM.Iob
contapezziPLC++;
// invio contapezzi...
string fullUrl = $"{urlSetPzCount.Replace(IOBConfFull.General.CodIOB, $"{IOBConfFull.General.CodIOB}|TAV_{nP}")}{contapezziIOB}";
string retVal = utils.callUrl(fullUrl);
string retVal = HttpService.CallUrl(fullUrl);
}
// se cP > 0 --> segnalo bit tavola...
if (cP == 1)
@@ -1599,10 +1600,10 @@ namespace IOB_WIN_FORM.Iob
// PONTE SYNC/ASYNC: Ora sw.Stop() aspetterà la fine reale dell'operazione
Task.Run(async () =>
{
var rawListArt = await utils.callUrlAsync(urlGetCurrArt);
var rawListDOSS = await utils.callUrlAsync(urlGetCurrDOSS);
var rawListPODL = await utils.callUrlAsync(urlGetNextPODL);
var rawLVFasi = await utils.callUrlAsync(urlGetListValFasiPodl);
var rawListArt = await HttpService.CallUrlAsync(urlGetCurrArt);
var rawListDOSS = await HttpService.CallUrlAsync(urlGetCurrDOSS);
var rawListPODL = await HttpService.CallUrlAsync(urlGetNextPODL);
var rawLVFasi = await HttpService.CallUrlAsync(urlGetListValFasiPodl);
if (!string.IsNullOrEmpty(rawListArt))
{
@@ -1750,9 +1751,9 @@ namespace IOB_WIN_FORM.Iob
// PONTE SYNC/ASYNC: Ora sw.Stop() aspetterà la fine reale dell'operazione
Task.Run(async () =>
{
var rawListArt = await utils.callUrlAsync(urlGetCurrArt);
var rawListDOSS = await utils.callUrlAsync(urlGetCurrDOSS);
var rawListPODL = await utils.callUrlAsync(urlGetNextPODL);
var rawListArt = await HttpService.CallUrlAsync(urlGetCurrArt);
var rawListDOSS = await HttpService.CallUrlAsync(urlGetCurrDOSS);
var rawListPODL = await HttpService.CallUrlAsync(urlGetNextPODL);
if (!string.IsNullOrEmpty(rawListArt))
{
try
@@ -2165,7 +2166,7 @@ namespace IOB_WIN_FORM.Iob
private void sendDataItemsList(List<machDataItem> dataItems)
{
string rawData = JsonConvert.SerializeObject(dataItems);
utils.CallUrlPost($"{urlSaveDataItems}", rawData);
HttpService.CallUrlPost($"{urlSaveDataItems}", rawData);
}
/// <summary>
+75 -103
View File
@@ -1,5 +1,6 @@
using IOB_UT_NEXT;
using IOB_UT_NEXT.Config;
using IOB_UT_NEXT.Iob.Services;
using MapoSDK;
using MathNet.Numerics.Distributions;
using Newtonsoft.Json;
@@ -29,6 +30,11 @@ namespace IOB_WIN_FORM
/// </summary>
public static Logger lg;
/// <summary>
/// Configurazione gerarchica completa (v 4.x.x.x)
/// </summary>
public IobConfTree IOBConfFull = new IobConfTree();
/// <summary>
/// Data ultimo controllo comunicazione
/// </summary>
@@ -113,7 +119,6 @@ namespace IOB_WIN_FORM
}
else
{
if (utils.dtVetoPing < DateTime.Now)
{
IPStatus pingStatus = GetPingStatus();
@@ -123,7 +128,7 @@ namespace IOB_WIN_FORM
try
{
// chiamo URL, se restituisce "OK" è alive!
string callResp = utils.callUrl(urlAlive);
string callResp = HttpService.CallUrl(urlAlive);
answ = (callResp == "OK");
}
catch (Exception exc)
@@ -403,39 +408,17 @@ namespace IOB_WIN_FORM
/// <summary>
/// URL per recuperare i file dell'IOB (SENZA IOB)
/// </summary>
protected string urlDownloadFile
{
get => $"http://{MPIP}{MPURL}/IOB/getFiles/";
}
protected string urlDownloadFile => $"http://{MPIP}{MPURL}/IOB/getFiles/";
/// <summary>
/// URL per recuperare i file dell'IOB su CLOUD (SENZA IOB)
/// </summary>
protected string urlDownloadFileCloud
{
get
{
return $"{baseUrl}IOB/getFiles/";
}
}
protected string urlDownloadFileCloud => $"{baseUrl}IOB/getFiles/";
/// <summary>
/// URL per chiedere quale sia la IOB da acquisire/gestire (se c'è...)
/// </summary>
protected string urlIob2call
{
get
{
string answ = "";
try
{
answ = string.Format(@"http://{0}{1}{2}{3}", MPIP, MPURL, CMDIOB2CALL, utils.GetIP());
}
catch
{ }
return answ;
}
}
protected string urlIob2call => $"http://{MPIP}{MPURL}{CMDIOB2CALL}{NetService.GetIP()}";
/// <summary>
/// URL per segnalazione reboot...
@@ -444,34 +427,31 @@ namespace IOB_WIN_FORM
{
get
{
string answ = "";
// 1. Creiamo l'URL base (chiamando GetIP una sola volta)
string baseUrl = $"http://{MPIP}{MPURL}{CMDREBO}{NetService.GetIP()}";
try
{
answ = string.Format(@"http://{0}{1}{2}{3}&mac={4}", MPIP, MPURL, CMDREBO, utils.GetIP(), utils.GetMACAddress());
// 2. Proviamo ad accodare il MAC Address
return $"{baseUrl}&mac={NetService.GetMACAddress()}";
}
catch
{
answ = string.Format(@"http://{0}{1}{2}{3}", MPIP, MPURL, CMDREBO, utils.GetIP());
// 3. Se GetMACAddress() fallisce, restituiamo l'URL senza MAC
return baseUrl;
}
return answ;
}
}
/// <summary>
/// URL per salvare i file dell'IOB (SENZA IOB)
/// </summary>
protected string urlUploadFile
{
get => $"http://{MPIP}{MPURL}/IOB/uploadFile/";
}
protected string urlUploadFile => $"http://{MPIP}{MPURL}/IOB/uploadFile/";
/// <summary>
/// URL per salvare i file dell'IOB su CLOUD (SENZA IOB)
/// </summary>
protected string urlUploadFileCloud
{
get => $"{baseUrl}IOB/uploadFile/";
}
protected string urlUploadFileCloud => $"{baseUrl}IOB/uploadFile/";
#endregion Protected Properties
@@ -496,6 +476,7 @@ namespace IOB_WIN_FORM
lg.Factory.Configuration.Variables["codIOB"] = "MAIN";
lg.Info(txt2log);
}
/// <summary>
/// Effettua logging WARN corretto impostando anche la variabile IOB prima di scrivere...
/// </summary>
@@ -526,14 +507,6 @@ namespace IOB_WIN_FORM
this.LayoutMdi(MdiLayout.TileHorizontal);
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
MainTimer?.Stop();
MainTimer?.Dispose();
closeActiveChild();
base.OnFormClosing(e);
}
/// <summary>
/// Chiude le finestre child attive
/// </summary>
@@ -629,7 +602,7 @@ namespace IOB_WIN_FORM
if (pingStatus == IPStatus.Success)
{
// segnalo reboot (programma)...
utils.callUrl(urlReboot);
HttpService.CallUrl(urlReboot);
}
else
{
@@ -643,6 +616,14 @@ namespace IOB_WIN_FORM
displayTaskAndLog("Main Form OK");
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
MainTimer?.Stop();
MainTimer?.Dispose();
closeActiveChild();
base.OnFormClosing(e);
}
/// <summary>
/// Apre la finestra child con conf
/// </summary>
@@ -702,6 +683,8 @@ namespace IOB_WIN_FORM
/// </summary>
private static bool closed = false;
private FormWindowState _lastState = FormWindowState.Minimized;
/// <summary>
/// Nome applicazione (da app.config)
/// </summary>
@@ -709,58 +692,6 @@ namespace IOB_WIN_FORM
#endregion Private Fields
#region Private Properties
/// <summary>
/// Configurazione gerarchica completa (v 4.x.x.x)
/// </summary>
public IobConfTree IOBConfFull = new IobConfTree();
/// <summary>
/// test ping all'indirizzo impostato nei parametri
/// </summary>
/// <returns></returns>
private IPStatus GetPingStatus()
{
IPStatus answ = IPStatus.Unknown;
// se disabilitato salto...
if (IOBConfFull != null && IOBConfFull.MapoMes.DisabPing)
{
answ = IPStatus.Success;
}
else
{
IPAddress address;
PingReply reply;
using (Ping pingSender = new Ping())
{
address = IPAddress.Loopback;
string ipAdrr = MPIP;
IPAddress.TryParse(ipAdrr, out address);
try
{
// se != null --> uso address...
if (address != null)
{
reply = pingSender.Send(address, 500);
}
else
{
reply = pingSender.Send(MPIP, 500);
}
}
catch
{
reply = pingSender.Send(IPAddress.Loopback, 100);
}
}
answ = reply.Status;
}
return answ;
}
#endregion Private Properties
#region Private Methods
private void arrangeWindowsToolStripMenuItem_Click(object sender, EventArgs e)
@@ -904,7 +835,7 @@ namespace IOB_WIN_FORM
// invio in locale!
url2call = $"{urlDownloadFile}{currIob}";
}
rawData = utils.CallUrlGet(url2call);
rawData = HttpService.CallUrlGet(url2call);
if (!string.IsNullOrEmpty(rawData))
{
// deserializzo
@@ -956,6 +887,49 @@ namespace IOB_WIN_FORM
// file MAIN di avvio ripartendo...)
}
/// <summary>
/// test ping all'indirizzo impostato nei parametri
/// </summary>
/// <returns></returns>
private IPStatus GetPingStatus()
{
IPStatus answ = IPStatus.Unknown;
// se disabilitato salto...
if (IOBConfFull != null && IOBConfFull.MapoMes.DisabPing)
{
answ = IPStatus.Success;
}
else
{
IPAddress address;
PingReply reply;
using (Ping pingSender = new Ping())
{
address = IPAddress.Loopback;
string ipAdrr = MPIP;
IPAddress.TryParse(ipAdrr, out address);
try
{
// se != null --> uso address...
if (address != null)
{
reply = pingSender.Send(address, 500);
}
else
{
reply = pingSender.Send(MPIP, 500);
}
}
catch
{
reply = pingSender.Send(IPAddress.Loopback, 100);
}
}
answ = reply.Status;
}
return answ;
}
/// <summary>
/// Carica file ini della configurazione richiesta
/// </summary>
@@ -1049,8 +1023,6 @@ namespace IOB_WIN_FORM
_lastState = this.WindowState;
}
private FormWindowState _lastState = FormWindowState.Minimized;
/// <summary>
/// evento visualizzazione
/// </summary>