Completato prototipo con scrittura su REDIS valori serializzati

This commit is contained in:
Samuele E. Locatelli
2019-08-21 12:24:58 +02:00
parent 037086c758
commit e223f66b4e
4 changed files with 67 additions and 5 deletions
+3
View File
@@ -40,6 +40,9 @@
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.0.601\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="SteamWare">
<HintPath>..\NKC_WF\ExtLib\SteamWare.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.0\lib\netstandard2.0\System.Buffers.dll</HintPath>
+59 -2
View File
@@ -1,4 +1,5 @@
using Newtonsoft.Json;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -239,6 +240,11 @@ namespace AppData
}
}
}
#endregion
#region metodi helper di conversione
/// <summary>
/// Helper x serializzare l'oggetto
/// </summary>
@@ -260,18 +266,69 @@ namespace AppData
return answ;
}
#endregion
#region metodi x data persistence
/// <summary>
/// Salvo il Takt inviato
/// </summary>
/// <param name="origin">Origine del dato: SERV / PROD / NEST</param>
/// <param name="currData"></param>
/// <returns></returns>
public static bool saveTakt(string origin, Takt currData)
{
bool answ = false;
try
{
// calcolo valori redis
string redKey = $"NKC:{origin.ToUpper()}:TAKT:{currData.TaktId}";
string redVal = serializeTakt(currData);
// scrivo per ora solo su REDIS
memLayer.ML.setRSV(redKey, redVal);
answ = true;
}
catch
{ }
return answ;
}
/// <summary>
/// Salvo il Takt inviato
/// </summary>
/// <param name="origin">Origine del dato: SERV / PROD / NEST</param>
/// <param name="currData"></param>
/// <returns></returns>
public static Takt readTakt(string origin, string TaktId)
{
Takt answ = null;
try
{
string redKey = $"NKC:{origin.ToUpper()}:TAKT:{TaktId}";
string redVal = memLayer.ML.getRSV(redKey);
answ = deserializeTakt(redVal);
}
catch
{ }
return answ;
}
#endregion
#region metodi per PROD
/// <summary>
/// Fornisce il prossimo TAKT da elaborare oppure null se non ce ne fossero altri da elaborare per la data CORRENTE
/// </summary>
/// <returns></returns>
public int getNextTakt()
public Takt prodGetNextTakt()
{
return 0;
return null;
}
#endregion
}
}
+1 -1
View File
@@ -111,7 +111,7 @@ namespace NKC_WF
// scrivo su label
lblOut.Text = jsonData;
// salvo in redis / DB
ComLib.saveTakt("SERV", currTakt);
}
}
}
+4 -2
View File
@@ -33,8 +33,10 @@
<add key="_logMaxMb" value="30" />
<add key="logMitigSec" value="30" />
<!--Configurazioni Redis-->
<add key="RedisConn" value="localhost,abortConnect=false,ssl=false" />
<add key="RedisConnAdmin" value="localhost,abortConnect=false,ssl=false,allowAdmin=true" />
<!--<add key="RedisConn" value="localhost,abortConnect=false,ssl=false" />
<add key="RedisConnAdmin" value="localhost,abortConnect=false,ssl=false,allowAdmin=true" />-->
<add key="RedisConn" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=nkc.password" />
<add key="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=nkc.password,allowAdmin=true" />
<add key="redisDb" value="0" />
<!--Configuraizoni DB per classi referenziate AppData e Steamware dll-->