Continuo migrazione async metodi DB

This commit is contained in:
Samuele Locatelli
2026-04-20 08:45:22 +02:00
parent 50987d15fb
commit dd0854a6ef
10 changed files with 189 additions and 305 deletions
+174 -248
View File
@@ -12,7 +12,7 @@ using System.Threading.Tasks;
namespace MP.Data.Controllers
{
public class MpIocController : IDisposable
public class MpIocController /*: IDisposable*/
{
#region Public Constructors
@@ -158,7 +158,6 @@ namespace MP.Data.Controllers
.Database
.ExecuteSqlRawAsync("EXEC stp_ConfermaProduzCompleta @idxMacchina, @MatrApp, @dataFrom, @dataTo, @pezziConf, @pezziScar, @TipoConf, @DataOraApp, @TestConferma ", IdxMacchina, MatrApp, DataFrom, DataTo, PezziConf, PezziScar, TipoConf, DtOraApp, TestConferma);
return result != 0;
}
@@ -333,10 +332,12 @@ namespace MP.Data.Controllers
return dbResult;
}
#if false
public void Dispose()
{
_configuration = null;
}
#endif
/// <summary>
/// Stored x recuperare ultimi dossier macchina
@@ -370,58 +371,6 @@ namespace MP.Data.Controllers
dbCtx.DbSetEvList.Add(newRec);
return await dbCtx.SaveChangesAsync() > 0;
}
/// <summary>
/// Fix ODL per macchine SLAVE
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="numDayPrev"></param>
/// <param name="doInsert"></param>
/// <returns></returns>
public bool OdlFixMachineSlave(string idxMacchina, int numDayPrev, int doInsert)
{
using var dbCtx = new MoonProContext(_configuration);
var idxMaccParam = new SqlParameter("@IdxMacchina", idxMacchina ?? "");
var numDayPrevParam = new SqlParameter("@NumDayPrev", numDayPrev);
var doInsertParam = new SqlParameter("@DoInsert", doInsert);
var result = dbCtx.Database.ExecuteSqlRaw(
"EXEC stp_ODL_fixMachineSlave @IdxMacchina, @NumDayPrev, @DoInsert",
idxMaccParam, numDayPrevParam, doInsertParam
);
return result != -1;
}
/// <summary>
/// Fix ODL per macchine SLAVE Async
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="numDayPrev"></param>
/// <param name="doInsert"></param>
/// <returns></returns>
public async Task<bool> OdlFixMachineSlaveAsync(string idxMacchina, int numDayPrev, int doInsert)
{
bool fatto = false;
using (var dbCtx = new MoonProContext(_configuration))
{
try
{
var IdxMacc = new SqlParameter("@IdxMacchina", idxMacchina);
var NumDayPrev = new SqlParameter("@NumDayPrev", numDayPrev);
var DoInsert = new SqlParameter("@DoInsert", doInsert);
var result = await dbCtx
.Database
.ExecuteSqlRawAsync("EXEC stp_ODL_fixMachineSlave @IdxMacchina, @NumDayPrev, @DoInsert", IdxMacc, NumDayPrev, DoInsert);
fatto = result != 0;
}
catch (Exception exc)
{
Log.Error($"Eccezione durante OdlFixMachineSlaveAsync{Environment.NewLine}{exc}");
}
}
return fatto;
}
/// <summary>
/// Chiamata x stored recupero FluxLog x macchina (first)
@@ -432,17 +381,16 @@ namespace MP.Data.Controllers
public async Task<List<FluxLogModel>> FluxLogFirstByMaccAsync(string idxMacc, int numMax)
{
List<FluxLogModel> dbResult = new();
using (var dbCtx = new MoonPro_FluxContext(_configuration))
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacc);
var NumMax = new SqlParameter("@numMax", numMax);
dbResult = await dbCtx
.DbSetFluxLog
.FromSqlRaw("exec dbo.stp_FL_getFirstByMacc @IdxMacchina, @numMax", IdxMacchina, NumMax)
.AsNoTracking()
.ToListAsync();
}
using var dbCtx = new MoonPro_FluxContext(_configuration);
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacc);
var NumMax = new SqlParameter("@numMax", numMax);
dbResult = await dbCtx
.DbSetFluxLog
.FromSqlRaw("exec dbo.stp_FL_getFirstByMacc @IdxMacchina, @numMax", IdxMacchina, NumMax)
.AsNoTracking()
.ToListAsync();
return dbResult;
}
@@ -455,19 +403,18 @@ namespace MP.Data.Controllers
/// <param name="CodFlux">*=tutti, altrimenti solo selezionato</param>
/// <param name="MaxRec">numero massimo record da restituire</param>
/// <returns></returns>
public List<FluxLogModel> FluxLogGetLastFilt(DateTime DtMax, DateTime DtMin, string IdxMacchina, string CodFlux, int MaxRec)
public async Task<List<FluxLogModel>> FluxLogGetLastFiltAsync(DateTime DtMax, DateTime DtMin, string IdxMacchina, string CodFlux, int MaxRec)
{
List<FluxLogModel> dbResult = new List<FluxLogModel>();
using (var dbCtx = new MoonPro_FluxContext(_configuration))
{
dbResult = dbCtx
.DbSetFluxLog
.AsNoTracking()
.Where(x => (x.dtEvento >= DtMin && x.dtEvento <= DtMax) && (IdxMacchina == "*" || x.IdxMacchina == IdxMacchina) && (CodFlux == "*" || x.CodFlux == CodFlux))
.OrderByDescending(x => x.dtEvento)
.Take(MaxRec)
.ToList();
}
using var dbCtx = new MoonPro_FluxContext(_configuration);
dbResult = await dbCtx
.DbSetFluxLog
.AsNoTracking()
.Where(x => (x.dtEvento >= DtMin && x.dtEvento <= DtMax) && (IdxMacchina == "*" || x.IdxMacchina == IdxMacchina) && (CodFlux == "*" || x.CodFlux == CodFlux))
.OrderByDescending(x => x.dtEvento)
.Take(MaxRec)
.ToListAsync();
return dbResult;
}
@@ -476,48 +423,16 @@ namespace MP.Data.Controllers
/// </summary>
/// <param name="newRec"></param>
/// <returns></returns>
public bool FluxLogInsert(FluxLogModel newRec)
{
bool fatto = false;
using (var dbCtx = new MoonPro_FluxContext(_configuration))
{
try
{
var currRec = dbCtx
.DbSetFluxLog
.Add(newRec);
dbCtx.SaveChanges();
}
catch (Exception exc)
{
Log.Error($"Eccezione durante FluxLogInsert{Environment.NewLine}{exc}");
}
}
return fatto;
}
/// <summary>
/// Aggiunta record FluxLog Async
/// </summary>
/// <param name="newRec"></param>
/// <returns></returns>
public async Task<bool> FluxLogInsertAsync(FluxLogModel newRec)
{
bool fatto = false;
using (var dbCtx = new MoonPro_FluxContext(_configuration))
{
try
{
var currRec = dbCtx
.DbSetFluxLog
.Add(newRec);
await dbCtx.SaveChangesAsync();
}
catch (Exception exc)
{
Log.Error($"Eccezione durante FluxLogInsertAsync{Environment.NewLine}{exc}");
}
}
using var dbCtx = new MoonPro_FluxContext(_configuration);
var currRec = dbCtx
.DbSetFluxLog
.Add(newRec);
await dbCtx.SaveChangesAsync();
return fatto;
}
@@ -529,99 +444,70 @@ namespace MP.Data.Controllers
public async Task<bool> FluxLogTakeSnapshotLastAsync(string idxMacc, DateTime dataInizio, DateTime dataFine)
{
bool fatto = false;
using (var dbCtx = new MoonPro_FluxContext(_configuration))
{
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacc);
var DataInizio = new SqlParameter("@DtMin", dataInizio);
var DataFine = new SqlParameter("@DtMax", dataFine);
using var dbCtx = new MoonPro_FluxContext(_configuration);
var result = await dbCtx
.Database
.ExecuteSqlRawAsync("EXEC stp_FL_TakeSnapshotLast @IdxMacchina, @DtMin, @DtMax", IdxMacchina, DataInizio, DataFine);
fatto = result > 0;
}
return fatto;
}
public bool KeepAliveUpsert(string IdxMacc, DateTime OraServer, DateTime OraMacc)
{
bool fatto = false;
using (var dbCtx = new MoonProContext(_configuration))
{
var currRec = dbCtx
.DbSetKeepAlive
.Where(x => x.IdxMacchina == IdxMacc)
.FirstOrDefault();
if (currRec != null)
{
currRec.DataOraServer = OraServer;
currRec.DataOraMacchina = OraMacc;
dbCtx.Entry(currRec).State = EntityState.Modified;
}
else
{
KeepAliveModel newRec = new KeepAliveModel()
{
IdxMacchina = IdxMacc,
DataOraMacchina = OraMacc,
DataOraServer = OraServer,
DataOraStart = DateTime.Now
};
dbCtx
.DbSetKeepAlive
.Add(newRec);
}
dbCtx.SaveChanges();
fatto = true;
}
var IdxMacchina = new SqlParameter("@IdxMacchina", idxMacc);
var DataInizio = new SqlParameter("@DtMin", dataInizio);
var DataFine = new SqlParameter("@DtMax", dataFine);
var result = await dbCtx
.Database
.ExecuteSqlRawAsync("EXEC stp_FL_TakeSnapshotLast @IdxMacchina, @DtMin, @DtMax", IdxMacchina, DataInizio, DataFine);
fatto = result > 0;
return fatto;
}
/// <summary>
/// Upsert record keepalive
/// </summary>
/// <param name="IdxMacc"></param>
/// <param name="OraServer"></param>
/// <param name="OraMacc"></param>
/// <returns></returns>
public async Task<bool> KeepAliveUpsertAsync(string IdxMacc, DateTime OraServer, DateTime OraMacc)
{
bool fatto = false;
using (var dbCtx = new MoonProContext(_configuration))
using var dbCtx = new MoonProContext(_configuration);
var currRec = await dbCtx
.DbSetKeepAlive
.Where(x => x.IdxMacchina == IdxMacc)
.FirstOrDefaultAsync();
if (currRec != null)
{
var currRec = await dbCtx
.DbSetKeepAlive
.Where(x => x.IdxMacchina == IdxMacc)
.FirstOrDefaultAsync();
if (currRec != null)
{
currRec.DataOraServer = OraServer;
currRec.DataOraMacchina = OraMacc;
dbCtx.Entry(currRec).State = EntityState.Modified;
}
else
{
KeepAliveModel newRec = new KeepAliveModel()
{
IdxMacchina = IdxMacc,
DataOraMacchina = OraMacc,
DataOraServer = OraServer,
DataOraStart = DateTime.Now
};
dbCtx
.DbSetKeepAlive
.Add(newRec);
}
fatto = await dbCtx.SaveChangesAsync() > 0;
currRec.DataOraServer = OraServer;
currRec.DataOraMacchina = OraMacc;
dbCtx.Entry(currRec).State = EntityState.Modified;
}
else
{
KeepAliveModel newRec = new KeepAliveModel()
{
IdxMacchina = IdxMacc,
DataOraMacchina = OraMacc,
DataOraServer = OraServer,
DataOraStart = DateTime.Now
};
dbCtx
.DbSetKeepAlive
.Add(newRec);
}
fatto = await dbCtx.SaveChangesAsync() > 0;
return fatto;
}
public List<LinkMenuModel> ListLinkFilt(string tipoLink)
public async Task<List<LinkMenuModel>> ListLinkFiltAsync(string tipoLink)
{
List<LinkMenuModel> dbResult = new List<LinkMenuModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
dbResult = dbCtx
.DbSetLinkMenu
.Where(x => x.TipoLink == tipoLink)
.AsNoTracking()
.OrderBy(x => x.Ordine)
.ToList();
}
using var dbCtx = new MoonProContext(_configuration);
dbResult = await dbCtx
.DbSetLinkMenu
.Where(x => x.TipoLink == tipoLink)
.AsNoTracking()
.OrderBy(x => x.Ordine)
.ToListAsync();
return dbResult;
}
@@ -631,58 +517,41 @@ namespace MP.Data.Controllers
/// <param name="tabName">Filtro tabella (se "" tutto)</param>
/// <param name="fieldName">Filtro colonna (se "" tutto)</param>
/// <returns></returns>
public async Task<List<ListValuesModel>> ListValuesFilt(string tabName, string fieldName)
public async Task<List<ListValuesModel>> ListValuesFiltAsync(string tabName, string fieldName)
{
List<ListValuesModel> dbResult = new List<ListValuesModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
var query = dbCtx.DbSetListValues
.AsNoTracking()
.AsQueryable();
using var dbCtx = new MoonProContext(_configuration);
if (!string.IsNullOrEmpty(tabName))
query = query.Where(x => x.TableName == tabName);
if (!string.IsNullOrEmpty(fieldName))
query = query.Where(x => x.FieldName == fieldName);
dbResult = await query.ToListAsync();
}
return dbResult;
}
/// <summary>
/// Intera tabella relazione master/slave in machine (gestione setup master --&gt; slave)
/// </summary>
/// <returns></returns>
public List<Macchine2SlaveModel> Macchine2Slave()
{
List<Macchine2SlaveModel> dbResult = new List<Macchine2SlaveModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
dbResult = dbCtx
.DbSetM2S
var query = dbCtx
.DbSetListValues
.AsNoTracking()
.OrderBy(x => x.IdxMacchina)
.ToList();
}
.AsQueryable();
if (!string.IsNullOrEmpty(tabName))
query = query.Where(x => x.TableName == tabName);
if (!string.IsNullOrEmpty(fieldName))
query = query.Where(x => x.FieldName == fieldName);
dbResult = await query.ToListAsync();
return dbResult;
}
/// <summary>
/// Intera tabella relazione master/slave in machine (gestione setup master --&gt; slave)
/// Intera tabella relazione master/slave in machine (gestione setup master - slave)
/// </summary>
/// <returns></returns>
public async Task<List<Macchine2SlaveModel>> Macchine2SlaveAsync()
{
List<Macchine2SlaveModel> dbResult = new List<Macchine2SlaveModel>();
using (var dbCtx = new MoonProContext(_configuration))
{
dbResult = await dbCtx
.DbSetM2S
.AsNoTracking()
.OrderBy(x => x.IdxMacchina)
.ToListAsync();
}
using var dbCtx = new MoonProContext(_configuration);
dbResult = await dbCtx
.DbSetM2S
.AsNoTracking()
.OrderBy(x => x.IdxMacchina)
.ToListAsync();
return dbResult;
}
@@ -690,38 +559,39 @@ namespace MP.Data.Controllers
/// Elenco Record Macchine
/// </summary>
/// <returns></returns>
public List<MacchineModel> MacchineGetAll()
public async Task<List<MacchineModel>> MacchineGetAllAsync()
{
List<MacchineModel> dbResult = new List<MacchineModel>();
using (MoonProContext dbCtx = new MoonProContext(_configuration))
{
dbResult = dbCtx
using var dbCtx = new MoonProContext(_configuration);
dbResult = await dbCtx
.DbSetMacchine
.ToList();
}
.ToListAsync();
return dbResult;
}
public MacchineModel? MacchineGetByIdx(string IdxMacchina)
{
MacchineModel dbResult = null;
using (MoonProContext dbCtx = new MoonProContext(_configuration))
{
dbResult = dbCtx
.DbSetMacchine
.FirstOrDefault(x => x.IdxMacchina == IdxMacchina);
}
using var dbCtx = new MoonProContext(_configuration);
dbResult = dbCtx
.DbSetMacchine
.FirstOrDefault(x => x.IdxMacchina == IdxMacchina);
return dbResult;
}
public async Task<MacchineModel?> MacchineGetByIdxAsync(string IdxMacchina)
{
MacchineModel dbResult = null;
using (MoonProContext dbCtx = new MoonProContext(_configuration))
{
dbResult = await dbCtx
using var dbCtx = new MoonProContext(_configuration);
dbResult = await dbCtx
.DbSetMacchine
.FirstOrDefaultAsync(x => x.IdxMacchina == IdxMacchina);
}
return dbResult;
}
@@ -837,6 +707,7 @@ namespace MP.Data.Controllers
return dbResult;
}
}
/// <summary>
/// Elenco da tabella Macchine
/// </summary>
@@ -1072,6 +943,58 @@ namespace MP.Data.Controllers
return answ;
}
/// <summary>
/// Fix ODL per macchine SLAVE
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="numDayPrev"></param>
/// <param name="doInsert"></param>
/// <returns></returns>
public async Task<bool> OdlFixMachineSlave(string idxMacchina, int numDayPrev, int doInsert)
{
using var dbCtx = new MoonProContext(_configuration);
var idxMaccParam = new SqlParameter("@IdxMacchina", idxMacchina ?? "");
var numDayPrevParam = new SqlParameter("@NumDayPrev", numDayPrev);
var doInsertParam = new SqlParameter("@DoInsert", doInsert);
var result = await dbCtx
.Database
.ExecuteSqlRawAsync("EXEC stp_ODL_fixMachineSlave @IdxMacchina, @NumDayPrev, @DoInsert", idxMaccParam, numDayPrevParam, doInsertParam);
return result != -1;
}
/// <summary>
/// Fix ODL per macchine SLAVE Async
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="numDayPrev"></param>
/// <param name="doInsert"></param>
/// <returns></returns>
public async Task<bool> OdlFixMachineSlaveAsync(string idxMacchina, int numDayPrev, int doInsert)
{
bool fatto = false;
using (var dbCtx = new MoonProContext(_configuration))
{
try
{
var IdxMacc = new SqlParameter("@IdxMacchina", idxMacchina);
var NumDayPrev = new SqlParameter("@NumDayPrev", numDayPrev);
var DoInsert = new SqlParameter("@DoInsert", doInsert);
var result = await dbCtx
.Database
.ExecuteSqlRawAsync("EXEC stp_ODL_fixMachineSlave @IdxMacchina, @NumDayPrev, @DoInsert", IdxMacc, NumDayPrev, DoInsert);
fatto = result != 0;
}
catch (Exception exc)
{
Log.Error($"Eccezione durante OdlFixMachineSlaveAsync{Environment.NewLine}{exc}");
}
}
return fatto;
}
/// <summary>
/// ODL corrente macchina
/// </summary>
@@ -1263,6 +1186,7 @@ namespace MP.Data.Controllers
}
return answ;
}
/// <summary>
/// Effettua ricalcolo MSE x macchina indicata
/// </summary>
@@ -1570,6 +1494,7 @@ namespace MP.Data.Controllers
}
return dbResult;
}
/// <summary>
/// Tabella state machine eventi 2 stati data macchina e tipo evento
/// </summary>
@@ -1827,6 +1752,7 @@ namespace MP.Data.Controllers
}
return dbResult;
}
/// <summary>
/// Vista v_MSFD delle machine MULTI filtrato x macchina (da stored)
/// </summary>
+1 -1
View File
@@ -31,7 +31,7 @@
<PackageReference Include="Blazored.LocalStorage" Version="4.5.0" />
<PackageReference Include="Blazored.SessionStorage" Version="2.4.0" />
<PackageReference Include="EgwCoreLib.Utils" Version="1.5.2507.1815" />
<PackageReference Include="MailKit" Version="4.7.1.1" />
<PackageReference Include="MailKit" Version="4.16.0" />
<PackageReference Include="Microsoft.AspNetCore.Components" Version="6.0.36" />
<PackageReference Include="Microsoft.AspNetCore.Http.Connections.Common" Version="6.0.36" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.36" />
+1 -1
View File
@@ -3881,7 +3881,7 @@ namespace MP.Data.Services
{
// Free managed resources here
dbTabController.Dispose();
dbIocController.Dispose();
//dbIocController.Dispose();
dbInveController.Dispose();
CurrConfig.Clear();
connStrParams.Clear();
+1 -1
View File
@@ -991,7 +991,7 @@ namespace MP.IOC.Controllers
try
{
bool done = await DService.SetIobConfYaml(id, content);
bool done = await DService.SetIobConfYamlAsync(id, content);
answ = done ? "OK" : "KO";
}
catch (Exception exc)
+7 -41
View File
@@ -1829,7 +1829,7 @@ namespace MP.IOC.Data
}
else
{
resultList = await IocDbController.ListValuesFilt(tabName, fieldName);
resultList = await IocDbController.ListValuesFiltAsync(tabName, fieldName);
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(resultList);
await redisDb.StringSetAsync(currKey, rawData, getRandTOut(redisLongTimeCache));
@@ -1841,6 +1841,7 @@ namespace MP.IOC.Data
return resultList;
}
#if false
/// <summary>
/// Elenco completo valori Macchine 2 Slave
/// </summary>
@@ -1874,7 +1875,8 @@ namespace MP.IOC.Data
TimeSpan ts = stopWatch.Elapsed;
Log.Debug($"Macchine2SlaveGetAll | Read from {readType}: {ts.TotalMilliseconds}ms");
return result;
}
}
#endif
/// <summary>
/// Elenco completo valori Macchine 2 Slave
@@ -3050,7 +3052,7 @@ namespace MP.IOC.Data
if (!disabKA)
{
// scrivo keep alive!!! (se necessario, altrimenti è in cache...)
ScriviKeepAlive(idxMacchina, DateTime.Now);
await ScriviKeepAliveAsync(idxMacchina, DateTime.Now);
}
string answ = "";
@@ -3255,7 +3257,7 @@ namespace MP.IOC.Data
public async Task<string> ProcessUserLogAsync(string idxMacchina, string flux, string valore, string dtEve, string dtCurr, int contatore, int matrOpr, string label, int valNum)
{
// scrivo keep alive!!! (se necessario, altrimenti è in cache...)
ScriviKeepAlive(idxMacchina, DateTime.Now);
await ScriviKeepAliveAsync(idxMacchina, DateTime.Now);
// 2017.09.14 trimmo eventualmente lo zero finale dalle date SE supera i millisecondi...
dtEve = dtEve.Length > 17 ? dtEve.Substring(0, 17) : dtEve;
dtCurr = dtCurr.Length > 17 ? dtCurr.Substring(0, 17) : dtCurr;
@@ -4078,42 +4080,6 @@ namespace MP.IOC.Data
return await IocDbController.SignalLogInsertAsync(newRec);
}
/// <summary>
/// scrive un evento di keepalive sulla tabella
/// </summary>
/// <param name="IdxMacchina"></param>
/// <param name="oraMacchina"></param>
/// <returns></returns>
public void ScriviKeepAlive(string IdxMacchina, DateTime oraMacchina)
{
string nomeVar = string.Format("KeepAlive:{0}", IdxMacchina);
// cerco se ho keep alive in redis,
bool keyPresent = false;
DateTime adesso = DateTime.Now;
var currKey = Utils.RedKeyHash(nomeVar);
try
{
keyPresent = RedisKeyPresent(currKey);
}
catch
{ }
// se NON presente salvo in REDIS con TTL 10 sec e sul DB...
if (!keyPresent)
{
redisDb.StringSet(currKey, adesso.ToString("s"), TimeSpan.FromSeconds(10));
try
{
Log.Trace($"Scrittura keep alive! IdxMacchina: {IdxMacchina}");
// effettuo scrittura sul DB
IocDbController.KeepAliveUpsert(IdxMacchina, DateTime.Now, oraMacchina);
}
catch (Exception exc)
{
Log.Error($"Errore in scrittura keep alive!{Environment.NewLine}oraMacchina: {oraMacchina} - IdxMacchina: {IdxMacchina}{Environment.NewLine}{exc}");
}
}
}
/// <summary>
/// scrive un evento di keepalive sulla tabella
/// </summary>
@@ -4143,7 +4109,7 @@ namespace MP.IOC.Data
/// <param name="idxMacchina"></param>
/// <param name="iobConfFull"></param>
/// <returns></returns>
public async Task<bool> SetIobConfYaml(string idxMacchina, string iobConfFull)
public async Task<bool> SetIobConfYamlAsync(string idxMacchina, string iobConfFull)
{
bool answ = false;
// se ho un area memoria valida...
+1 -1
View File
@@ -4,7 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<Version>6.16.2604.1816</Version>
<Version>6.16.2604.2008</Version>
</PropertyGroup>
<ItemGroup>
+1 -9
View File
@@ -138,7 +138,7 @@ using (var scope = app.Services.CreateScope())
catch (Exception ex)
{
var migrateLogger = services.GetRequiredService<ILogger<Program>>();
migrateLogger.LogError(ex, "Si è verificato un errore durante l'aggiornamento del database.");
migrateLogger.LogError(ex, "Si verificato un errore durante l'aggiornamento del database.");
}
}
@@ -157,14 +157,6 @@ app.Use(async (ctx, next) =>
});
// Map route to RouteManager
//app.Map("/MP/IOC/api/RIOB/{**catchAll}", async (HttpContext ctx) =>
//{
// var routeManager = ctx.RequestServices.GetRequiredService<RouteManager>();
// await routeManager.HandleAsync(ctx);
//});
// parametrizzare?!?!?
app.MapWhen(ctx =>
ctx.Request.Path.StartsWithSegments(fullPath, StringComparison.OrdinalIgnoreCase) ||
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MP-IOC </i>
<h4>Versione: 6.16.2604.1816</h4>
<h4>Versione: 6.16.2604.2008</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
6.16.2604.1816
6.16.2604.2008
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>6.16.2604.1816</version>
<version>6.16.2604.2008</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>