|
@@ -1327,9 +1327,9 @@ namespace EVCB_OCPP.WSServer
|
|
|
|
|
|
try
|
|
|
{
|
|
|
- if (DateTime.UtcNow.Subtract(lastcheckdt).TotalSeconds > 30)
|
|
|
+ // if (DateTime.UtcNow.Subtract(lastcheckdt).TotalSeconds > 30)
|
|
|
{
|
|
|
- lastcheckdt = DateTime.UtcNow;
|
|
|
+ // lastcheckdt = DateTime.UtcNow;
|
|
|
Stopwatch watch = new Stopwatch();
|
|
|
Dictionary<string, ClientData> _copyClientDic = null;
|
|
|
lock (_lockClientDic)
|
|
@@ -1345,19 +1345,30 @@ namespace EVCB_OCPP.WSServer
|
|
|
{
|
|
|
using (var db = new MainDBContext())
|
|
|
{
|
|
|
- var machine = new Machine() { Id = session.MachineId };
|
|
|
- if (machine != null)
|
|
|
+ using (var transaction = db.Database.BeginTransaction())
|
|
|
{
|
|
|
- db.Configuration.AutoDetectChangesEnabled = false;
|
|
|
- db.Configuration.ValidateOnSaveEnabled = false;
|
|
|
- db.Machine.Attach(machine);
|
|
|
- machine.HeartbeatUpdatedOn = DateTime.UtcNow;
|
|
|
- machine.ConnectionType = session.UriScheme.Equals("wss") ? 2 : 1;
|
|
|
- db.Entry(machine).Property(x => x.HeartbeatUpdatedOn).IsModified = true;
|
|
|
- db.Entry(machine).Property(x => x.ConnectionType).IsModified = true;
|
|
|
- await db.SaveChangesAsync();
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var machine = new Machine() { Id = session.MachineId };
|
|
|
+ if (machine != null)
|
|
|
+ {
|
|
|
+ db.Configuration.AutoDetectChangesEnabled = false;
|
|
|
+ db.Configuration.ValidateOnSaveEnabled = false;
|
|
|
+ db.Machine.Attach(machine);
|
|
|
+ machine.HeartbeatUpdatedOn = DateTime.UtcNow;
|
|
|
+ machine.ConnectionType = session.UriScheme.Equals("wss") ? 2 : 1;
|
|
|
+ db.Entry(machine).Property(x => x.HeartbeatUpdatedOn).IsModified = true;
|
|
|
+ db.Entry(machine).Property(x => x.ConnectionType).IsModified = true;
|
|
|
+ //await db.SaveChangesAsync();
|
|
|
+ db.SaveChanges();
|
|
|
+ transaction.Commit();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ transaction.Rollback();
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
watch.Stop();
|