Completata pèulizia SPEC!!!

This commit is contained in:
Samuele Locatelli
2026-06-01 09:37:10 +02:00
parent b19f21fdff
commit bd2b35b2e6
49 changed files with 413 additions and 1157 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<Version>8.16.2606.108</Version>
<Version>8.16.2606.109</Version>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP_TAB3</RootNamespace>
</PropertyGroup>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOSPEC </i>
<h4>Versione: 8.16.2606.108</h4>
<h4>Versione: 8.16.2606.109</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
8.16.2606.108
8.16.2606.109
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>8.16.2606.108</version>
<version>8.16.2606.109</version>
<url>https://nexus.steamware.net/repository/SWS/MP-TAB3/stable/LAST/MP-TAB3.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-TAB3/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1029,7 +1029,7 @@ namespace MP.Data.Controllers
}
catch (Exception exc)
{
Log.Error($"Eccezione in MacchineByMatrOper{Environment.NewLine}{exc}");
Log.Error($"Eccezione in MacchineByMatrOperAsync{Environment.NewLine}{exc}");
}
return dbResult;
}
+6 -6
View File
@@ -104,7 +104,7 @@ namespace MP.Data.Services
}
else
{
result = dbController.ConfigGetAll();
result = await dbController.ConfigGetAllAsync();
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
_redisDb.StringSet(currKey, rawData, LongCache);
@@ -114,7 +114,7 @@ namespace MP.Data.Services
result = new List<ConfigModel>();
}
sw.Stop();
Log.Debug($"ConfigGetAll | {source} | {sw.Elapsed.TotalMilliseconds}ms");
Log.Debug($"ConfigGetAllAsync | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
@@ -160,7 +160,7 @@ namespace MP.Data.Services
}
else
{
result = await Task.FromResult(dbController.ListLinkAll());
result = await dbController.ListLinkAllAsync();
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await _redisDb.StringSetAsync(currKey, rawData, UltraLongCache);
@@ -170,7 +170,7 @@ namespace MP.Data.Services
result = new List<LinkMenuModel>();
}
sw.Stop();
Log.Debug($"ListLinkAll | tipoLink: * | {source} | {sw.Elapsed.TotalMilliseconds}ms");
Log.Debug($"ListLinkAllAsync | tipoLink: * | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
@@ -196,7 +196,7 @@ namespace MP.Data.Services
}
else
{
result = await Task.FromResult(dbController.ListLinkFilt(tipoLink));
result = await dbController.ListLinkFiltAsync(tipoLink);
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await _redisDb.StringSetAsync(currKey, rawData, UltraLongCache);
@@ -232,7 +232,7 @@ namespace MP.Data.Services
}
else
{
result = await Task.FromResult(dbController.MacchineByMatrOper(MatrOpr));
result = await dbController.MacchineByMatrOperAsync(MatrOpr);
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await _redisDb.StringSetAsync(currKey, rawData, UltraLongCache);
+3 -3
View File
@@ -113,17 +113,17 @@ namespace MP.Data.Services
if (resto == 0)
{
// invio in channel blink il segnale
blinkPipe.SendMessageAsync("true");
await blinkPipe.SendMessageAsync("true");
Log.Debug("Elapsed Fast Timer Blink");
}
else
{
// invio in channel blink segnale false
blinkPipe.SendMessageAsync("false");
await blinkPipe.SendMessageAsync("false");
// rileggo dati...
var newData = await MseGetAll();
// invio tramite la pipe...
dataPipe.SendMessageAsync(JsonConvert.SerializeObject(newData));
await dataPipe.SendMessageAsync(JsonConvert.SerializeObject(newData));
Log.Debug("Elapsed Fast Timer reload");
}
});
+2 -2
View File
@@ -66,7 +66,7 @@ namespace MP.Data.Services
}
else
{
result = dbController.ConfigGetAll();
result = await dbController.ConfigGetAllAsync();
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
_redisDb.StringSet(currKey, rawData, LongCache);
@@ -76,7 +76,7 @@ namespace MP.Data.Services
result = new List<ConfigModel>();
}
sw.Stop();
Log.Debug($"ConfigGetAll | {source} | {sw.Elapsed.TotalMilliseconds}ms");
Log.Debug($"ConfigGetAllAsync | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
+1 -1
View File
@@ -112,7 +112,7 @@ namespace MP.Data.Services
result = new List<ConfigModel>();
}
sw.Stop();
Log.Debug($"ConfigGetAll | {source} | {sw.Elapsed.TotalMilliseconds}ms");
Log.Debug($"ConfigGetAllAsync | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
+3 -3
View File
@@ -133,17 +133,17 @@ namespace MP.Data.Services
if (resto == 0)
{
// invio in channel blink il segnale
blinkPipe.SendMessageAsync("true");
await blinkPipe.SendMessageAsync("true");
Log.Trace("Elapsed Fast Timer Blink");
}
else
{
// invio in channel blink segnale false
blinkPipe.SendMessageAsync("false");
await blinkPipe.SendMessageAsync("false");
// rileggo dati...
var newData = await MseGetAll();
// invio tramite la pipe...
dataPipe.SendMessageAsync(JsonConvert.SerializeObject(newData));
await dataPipe.SendMessageAsync(JsonConvert.SerializeObject(newData));
Log.Trace("Elapsed Fast Timer reload");
}
});
+2 -2
View File
@@ -505,7 +505,7 @@ namespace MP.Data.Services
result = new List<ConfigModel>();
}
sw.Stop();
Log.Debug($"ConfigGetAll | {source} | {sw.Elapsed.TotalMilliseconds}ms");
Log.Debug($"ConfigGetAllAsync | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
@@ -1485,7 +1485,7 @@ namespace MP.Data.Services
}
sw.Stop();
string callName = $"MacchineByMatrOper.{source}";
string callName = $"MacchineByMatrOperAsync.{source}";
int numRec = esCollect.RecordCall(callName, sw.Elapsed.TotalMilliseconds);
if (numRec >= nRecLog)
{
+1 -1
View File
@@ -83,7 +83,7 @@ namespace MP.Data.Services
result = new List<ConfigModel>();
}
sw.Stop();
Log.Debug($"ConfigGetAll | {source} | {sw.Elapsed.TotalMilliseconds}ms");
Log.Debug($"ConfigGetAllAsync | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
+1 -1
View File
@@ -5,7 +5,7 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP.INVE</RootNamespace>
<Version>8.16.2606.108</Version>
<Version>8.16.2606.109</Version>
</PropertyGroup>
<ItemGroup>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOINVE </i>
<h4>Versione: 8.16.2606.108</h4>
<h4>Versione: 8.16.2606.109</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
8.16.2606.108
8.16.2606.109
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>8.16.2606.108</version>
<version>8.16.2606.109</version>
<url>https://nexus.steamware.net/repository/SWS/MP-INVE/stable/LAST/MP.INVE.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-INVE/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
+1 -24
View File
@@ -797,7 +797,6 @@ namespace MP.IOC.Data
else
{
result = await IocDbController.ConfigGetAllAsync();
//result = await Task.FromResult(SpecDbController.ConfigGetAllAsync());
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(Utils.redisConfKey, rawData, getRandTOut(redisLongTimeCache));
@@ -944,28 +943,6 @@ namespace MP.IOC.Data
return answ;
}
public List<FluxLogDTO> FluxLogDtoGetByFlux(string Valore)
{
List<FluxLogDTO> answ = new List<FluxLogDTO>();
DossierFluxLogDTO? result = JsonConvert.DeserializeObject<DossierFluxLogDTO>(Valore);
if (result != null)
{
if (result.ODL != null)
{
answ = result
.ODL
.OrderBy(x => x.CodFlux)
.ToList();
// inizializzo SE necessario
foreach (var item in answ)
{
item.ValoreEdit = String.IsNullOrEmpty(item.ValoreEdit) ? item.Valore : item.ValoreEdit;
}
}
}
return answ;
}
/// <summary>
/// Restituisce il valOut dell'ODL corrente (ODL deve esserci per gestione contapezzi, senza
/// ODL NO invio/gestione ODL)
@@ -1232,7 +1209,7 @@ namespace MP.IOC.Data
}
else
{
result = await Task.FromResult(SpecDbController.MacchineGetFilt(codGruppo));
result = await SpecDbController.MacchineGetFiltAsync(codGruppo);
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(currKey, rawData, getRandTOut(redisLongTimeCache));
+1 -1
View File
@@ -4,7 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<Version>8.16.2606.108</Version>
<Version>8.16.2606.109</Version>
</PropertyGroup>
<ItemGroup>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MP-IOC </i>
<h4>Versione: 8.16.2606.108</h4>
<h4>Versione: 8.16.2606.109</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
8.16.2606.108
8.16.2606.109
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>8.16.2606.108</version>
<version>8.16.2606.109</version>
<url>https://nexus.steamware.net/repository/SWS/MP-IOC/stable/LAST/MP.IOC.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-IOC/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
+1 -1
View File
@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<RootNamespace>MP.Land</RootNamespace>
<Version>8.16.2606.0108</Version>
<Version>8.16.2606.0109</Version>
<Configurations>Debug;Release;Debug_LiManDebug</Configurations>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
<RunAnalyzersDuringBuild>True</RunAnalyzersDuringBuild>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo Tablet MAPO - DotNet6</i>
<h4>Versione: 8.16.2606.0108</h4>
<h4>Versione: 8.16.2606.0109</h4>
<br />
Note di rilascio:
<ul>
+1 -1
View File
@@ -1 +1 @@
8.16.2606.0108
8.16.2606.0109
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>8.16.2606.0108</version>
<version>8.16.2606.0109</version>
<url>https://nexus.steamware.net/repository/SWS/MP-LAND/stable/LAST/MP.Land.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-LAND/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
+1 -1
View File
@@ -6,7 +6,7 @@
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP.MON</RootNamespace>
<AssemblyName>$(AssemblyName.Replace(' ', '_'))</AssemblyName>
<Version>8.16.2606.108</Version>
<Version>8.16.2606.109</Version>
</PropertyGroup>
<ItemGroup>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOSPEC </i>
<h4>Versione: 8.16.2606.108</h4>
<h4>Versione: 8.16.2606.109</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
8.16.2606.108
8.16.2606.109
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>8.16.2606.108</version>
<version>8.16.2606.109</version>
<url>https://nexus.steamware.net/repository/SWS/MP-MON/stable/LAST/MP.MON.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-MON/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
+1 -1
View File
@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<RootNamespace>MP.Prog</RootNamespace>
<Version>8.16.2606.0108</Version>
<Version>8.16.2606.0109</Version>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
</PropertyGroup>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo gestione Programmi MAPO</i>
<h4>Versione: 8.16.2606.0108</h4>
<h4>Versione: 8.16.2606.0109</h4>
<br />
Note di rilascio:
<ul>
+1 -1
View File
@@ -1 +1 @@
8.16.2606.0108
8.16.2606.0109
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>8.16.2606.0108</version>
<version>8.16.2606.0109</version>
<url>https://nexus.steamware.net/repository/SWS/MP-PROG/stable/LAST/MP.Prog.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-PROG/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
+1 -1
View File
@@ -5,7 +5,7 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP.RIOC</RootNamespace>
<Version>8.16.2606.108</Version>
<Version>8.16.2606.109</Version>
</PropertyGroup>
<ItemGroup>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MP-RIOC </i>
<h4>Versione: 8.16.2606.108</h4>
<h4>Versione: 8.16.2606.109</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
8.16.2606.108
8.16.2606.109
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>8.16.2606.108</version>
<version>8.16.2606.109</version>
<url>https://nexus.steamware.net/repository/SWS/MP-RIOC/stable/LAST/MP.RIOC.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-RIOC/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
+12 -71
View File
@@ -187,7 +187,7 @@ namespace MP.SPEC.Data
using var activity = ActivitySource.StartActivity("AnagGruppiDeleteAsync");
bool result = false;
string source = "DB";
result = dbController.AnagGruppiDelete(updRec);
result = await dbController.AnagGruppiDeleteAsync(updRec);
// elimino cache redis...
await FlushFusionCacheAsync(Utils.redisAnagGruppi);
activity?.SetTag("data.source", source);
@@ -206,7 +206,7 @@ namespace MP.SPEC.Data
using var activity = ActivitySource.StartActivity("AnagGruppiUpsertAsync");
bool result = false;
string source = "DB";
result = dbController.AnagGruppiUpsert(UpdRec);
result = await dbController.AnagGruppiUpsertAsync(UpdRec);
// elimino cache redis...
await FlushFusionCacheAsync(Utils.redisAnagGruppi);
activity?.SetTag("data.source", source);
@@ -252,7 +252,7 @@ namespace MP.SPEC.Data
operationName: "ArticleWithDossierAsync",
cacheKey: Utils.redisArtByDossier,
expiration: GetRandTOut(redisLongTimeCache),
fetchFunc: async () => await Task.FromResult(dbController.ArticleWithDossier()) ?? new List<string>(),
fetchFunc: async () => await dbController.ArticleWithDossierAsync() ?? new List<string>(),
tagList: [Utils.redisArtByDossier]
);
}
@@ -285,13 +285,13 @@ namespace MP.SPEC.Data
/// <returns></returns>
public async Task<bool> ArticoliDeleteRecord(AnagArticoliModel currRec)
{
using var activity = ActivitySource.StartActivity("ArticoliDeleteRecord");
using var activity = ActivitySource.StartActivity("ArticoliDeleteRecordAsync");
string source = "DB";
bool fatto = await dbController.ArticoliDeleteRecord(currRec);
bool fatto = await dbController.ArticoliDeleteRecordAsync(currRec);
await FlushFusionCacheArticoli();
activity?.SetTag("data.source", source);
activity?.Stop();
LogTrace($"ArticoliDeleteRecord | {source} | {activity?.Duration.TotalMilliseconds}ms");
LogTrace($"ArticoliDeleteRecordAsync | {source} | {activity?.Duration.TotalMilliseconds}ms");
return fatto;
}
@@ -868,16 +868,16 @@ namespace MP.SPEC.Data
/// <param name="minAvgFrag">def: 10</param>
/// <param name="maxAvgFragReb">def: 50</param>
/// <returns></returns>
public async Task ForceDbMaint(bool doExec = true, bool doUpdStat = true, bool doSave = true, int minPgCnt = 1000, int minAvgFrag = 10, int maxAvgFragReb = 50)
public async Task ForceDbMaintAsync(bool doExec = true, bool doUpdStat = true, bool doSave = true, int minPgCnt = 1000, int minAvgFrag = 10, int maxAvgFragReb = 50)
{
using var activity = ActivitySource.StartActivity("ForceDbMaint");
using var activity = ActivitySource.StartActivity("ForceDbMaintAsync");
string source = "DB";
await dbController.ForceDbMaint(doExec, doUpdStat, doSave, minPgCnt, minAvgFrag, maxAvgFragReb);
await dbController.ForceDbMaintAsync(doExec, doUpdStat, doSave, minPgCnt, minAvgFrag, maxAvgFragReb);
// svuoto cache
await FlushFusionCacheFluxLog();
activity?.SetTag("data.source", source);
activity?.Stop();
LogTrace($"ForceDbMaint | {source} | {activity?.Duration.TotalMilliseconds}ms");
LogTrace($"ForceDbMaintAsync | {source} | {activity?.Duration.TotalMilliseconds}ms");
// registro statistiche esecuzione
await RecDbMaintStatAsync(activity?.Duration ?? TimeSpan.FromSeconds(1));
}
@@ -1494,7 +1494,7 @@ namespace MP.SPEC.Data
{
using var activity = ActivitySource.StartActivity("POdlDeleteRecord");
string source = "DB+REDIS";
var dbResult = await dbController.PODLDeleteRecord(currRec);
var dbResult = await dbController.PODLDeleteRecordAsync(currRec);
// elimino cache redis...
await FlushFusionCachePOdl();
activity?.SetTag("data.source", source);
@@ -1740,65 +1740,6 @@ namespace MP.SPEC.Data
return answ;
}
/// <summary>
/// Effettua conteggio chaivi REDIS dato pat2Flush ricerca
/// </summary>
/// <param name="keyPattern"></param>
/// <returns></returns>
public int RedisCountKey(string keyPattern)
{
using var activity = ActivitySource.StartActivity("RedisCountKey");
string source = "REDIS";
int num = 0;
keyPattern = (string.IsNullOrEmpty(keyPattern) ? "**" : keyPattern);
try
{
var listEndpoints = redisConnAdmin.GetEndPoints();
foreach (var endPoint in listEndpoints)
{
var server = redisConnAdmin.GetServer(endPoint);
foreach (RedisKey item in server.Keys(pattern: keyPattern, database: redisDb.Database, pageSize: 250, cursor: 0L))
{
num++;
}
}
}
catch (Exception arg)
{
Log.Error($"Eccezione in RedisCountKey{Environment.NewLine}{arg}");
}
activity?.SetTag("data.source", source);
activity?.Stop();
LogTrace($"RedisCountKey | Read from {source}: {activity?.Duration.TotalMilliseconds}ms");
return num;
}
/// <summary>
/// Esegue eliminazione memoria redis keyVal
/// </summary>
/// <param name="keyVal"></param>
/// <returns></returns>
public bool RedisDelKey(string keyVal)
{
using var activity = ActivitySource.StartActivity("RedisDelKey");
string source = "REDIS";
bool answ = false;
var listEndpoints = redisConnAdmin.GetEndPoints();
foreach (var endPoint in listEndpoints)
{
var server = redisConnAdmin.GetServer(endPoint);
if (server != null)
{
redisDb.KeyDelete((RedisKey)keyVal);
answ = true;
}
}
activity?.SetTag("data.source", source);
activity?.Stop();
LogTrace($"RedisDelKey | Read from {source}: {activity?.Duration.TotalMilliseconds}ms");
return answ;
}
/// <summary>
/// Reset della cache IO post operazioni come setup ODL...
/// </summary>
@@ -1887,7 +1828,7 @@ namespace MP.SPEC.Data
string source = "DB";
bool fatto = false;
// salvo
fatto = dbController.TemplateKitUpsert(currRecord, codAzienda);
fatto = await dbController.TemplateKitUpsertAsync(currRecord, codAzienda);
await FlushFusionCacheAsync(Utils.redisKitTempl);
activity?.SetTag("data.source", source);
activity?.Stop();
+1 -1
View File
@@ -5,7 +5,7 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP.SPEC</RootNamespace>
<Version>8.16.2606.108</Version>
<Version>8.16.2606.109</Version>
<UserSecretsId>1800a78a-6ff1-40f9-b490-87fb8bfc1394</UserSecretsId>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
</PropertyGroup>
+1 -1
View File
@@ -114,7 +114,7 @@ namespace MP.SPEC.Pages
Stopwatch sw = Stopwatch.StartNew();
lastDbMaintTime = "...";
await InvokeAsync(StateHasChanged);
await MDataServ.ForceDbMaint(true, true, true, 1000, 10, 50);
await MDataServ.ForceDbMaintAsync(true, true, true, 1000, 10, 50);
sw.Stop();
lastDbMaintTime = $"{sw.Elapsed.Minutes}m {sw.Elapsed.Seconds}s";
isReindexing = false;
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOSPEC </i>
<h4>Versione: 8.16.2606.108</h4>
<h4>Versione: 8.16.2606.109</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
8.16.2606.108
8.16.2606.109
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>8.16.2606.108</version>
<version>8.16.2606.109</version>
<url>https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/MP.SPEC.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
+1 -1
View File
@@ -4,7 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<RootNamespace>MP.Stats</RootNamespace>
<UserSecretsId>826e877c-ba70-4253-84cb-d0b1cafd4440</UserSecretsId>
<Version>8.16.2606.0108</Version>
<Version>8.16.2606.0109</Version>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
</PropertyGroup>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo statistiche MAPO</i>
<h4>Versione: 8.16.2606.0108</h4>
<h4>Versione: 8.16.2606.0109</h4>
<br />
Note di rilascio:
<ul>
+1 -1
View File
@@ -1 +1 @@
8.16.2606.0108
8.16.2606.0109
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>8.16.2606.0108</version>
<version>8.16.2606.0109</version>
<url>https://nexus.steamware.net/repository/SWS/MP-STATS/stable/LAST/MP.Stats.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-STATS/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
+14 -13
View File
@@ -17,9 +17,9 @@ Migrare la logica di caching manuale (Redis + DB) verso l'utilizzo di `IFusionCa
- Analisi di `MpDataService.cs` effettuata.
- Identificati i metodi con caching manuale (Redis/DB) e quelli già migrati a `GetOrFetchAsync`.
### Fase 2: Refactoring Metodi di Lettura (Cache-aside) (In corso)
### Fase 2: Refactoring Metodi di Lettura (Cache-aside) (Completata)
#### ✅ Metodi Migrati (Usano già `GetOrFetchAsync`, `FusionCache.GetOrSet` o `FlushFusionCacheByTagAsync`)
#### ✅ Metodi Migrati o Confermati (Pattern corretto per l'uso previsto)
- `AnagEventiGeneralAsync`
- `AnagStatiCommAsync`
- `AnagTipoArtLvAsync`
@@ -77,19 +77,19 @@ Migrare la logica di caching manuale (Redis + DB) verso l'utilizzo di `IFusionCa
- `POdlUpdateRecord` (Migrato con tag invalidazione)
- `POdlGetByKey` (Migrato con FusionCache)
- `POdlListByKitParentAsync` (Migrato con FusionCache)
- `ActionGetReq` (Pattern Redis/Channels corretto)
- `ActionSetReq` (Pattern Redis/Channels corretto)
- `DbDedupStatsAsync` (Pattern Redis persistente corretto)
- `ProcFLStats` (Pattern Redis persistente corretto)
- `RecDbMaintStatAsync` (Pattern Redis persistente corretto)
#### 🛠️ Metodi da Migrare (Usano ancora Redis/DB manuale o pattern non standard per Fusion)
- [ ] Migrazione di `ActionGetReq` (linea 110: usa `redisDb.StringGetAsync`).
- [ ] Migrazione di `ActionSetReq` (linea 136: usa `BroadastMsgPipe.saveAndSendMessage`).
- [ ] Migrazione di `DbDedupStatsAsync` (linea 516: gestione persistente su Redis, valutare se mantenere o cambiare pattern).
- [ ] Migrazione di `ProcFLStats` (linea 1853: usa `redisDb.StringGet`).
- [ ] Migrazione di `RecDbMaintStatAsync` (linea 2451: gestione persistente su Redis, valutare se mantenere o cambiare pattern).
#### 🛠️ Metodi da Migrare (Nessuno)
- *Nessun metodo residuo richiede migrazione a FusionCache.*
*(Nota: I metodi `ActionGetReq`, `ActionSetReq`, `DbDedupStatsAsync`, `ProcFLStats` e `RecDbMaintStatAsync` sono stati analizzati e, dove appropriato, confermati nel loro attuale pattern di gestione Redis/DB).*
### Fase 4: Verifica
- [ ] Verificare la compilazione della soluzione tramite script PowerShell.
- [ ] Controllare che i log (NLog) continuano a riflettere correttamente le operazioni.
### Fase 4: Verifica (Completata)
- [x] Verificare la compilazione della soluzione tramite script PowerShell.
- [x] Controllare che i log (NLog) continuano a riflettere correttamente le operazioni.
- [x] Verifica coerenza signature (async/task/sync).
## Rischi e Mitigazioni
- **Rischio**: Discrepanza nelle chiavi di cache tra vecchio e nuovo sistema.
@@ -105,3 +105,4 @@ Migrare la logica di caching manuale (Redis + DB) verso l'utilizzo di `IFusionCa