Robert 1 ano atrás
pai
commit
5ae9f9b4eb

+ 7 - 5
EVCB_OCPP.WSServer/Service/ConnectionLogdbService.cs

@@ -75,8 +75,8 @@ public class ConnectionLogdbService : IConnectionLogdbService
     {
         var log = new MachineLog(clientData, data, messageType, errorMsg, isSent);
         //queueHandler.Enqueue(log);
-        _ = WriteMachineLogEF(log);
-        //insertConnectonLogHandler.HandleAsync(log);
+        //_ = WriteMachineLogEF(log);
+        insertConnectonLogHandler.HandleAsync(log);
         //_ = InsertWithDapper(log);
     }
 
@@ -217,7 +217,7 @@ public class ConnectionLogdbService : IConnectionLogdbService
 
         t1 = watch.ElapsedMilliseconds;
         using SqlConnection sqlConnection = await sqlConnectionFactory.CreateAsync();
-        using var trans = await sqlConnection.BeginTransactionAsync();
+        //using var trans = await sqlConnection.BeginTransactionAsync();
 
         t2 = watch.ElapsedMilliseconds;
         var tableName = GetTableName(workTime);
@@ -239,11 +239,13 @@ public class ConnectionLogdbService : IConnectionLogdbService
             parameters.Add("EVSEEndPoint", log.clientData.RemoteEndPoint == null ? "123" : log.clientData.RemoteEndPoint.ToString(), DbType.String, size: 25);
             parameters.Add("Session", log.clientData.SessionID == null ? "123" : log.clientData.SessionID, DbType.String, size: 36);
 
-            await sqlConnection.ExecuteAsync(command, parameters, trans);
+            await sqlConnection.ExecuteAsync(command, parameters
+                //, trans
+                );
         }
 
         t3 = watch.ElapsedMilliseconds;
-        await trans.CommitAsync();
+        //await trans.CommitAsync();
 
         watch.Stop();
         t4 = watch.ElapsedMilliseconds;

+ 12 - 4
EVCB_OCPP.WSServer/Service/MeterValueDbService.cs

@@ -168,7 +168,7 @@ public class MeterValueDbService
 
         t1 = watch.ElapsedMilliseconds;
         using SqlConnection sqlConnection = await sqlConnectionFactory.CreateAsync();
-        using var trans = await sqlConnection.BeginTransactionAsync();
+        //using var trans = await sqlConnection.BeginTransactionAsync();
 
         t2 = watch.ElapsedMilliseconds;
 
@@ -178,12 +178,14 @@ public class MeterValueDbService
             var tableName = group.Key;
             foreach(var param in group)
             {
-                await InsertWithNoCheckDapper(tableName, param, sqlConnection, trans);
+                await InsertWithNoCheckDapper(tableName, param, sqlConnection
+                    //, trans
+                    );
             }
         }
 
         t3 = watch.ElapsedMilliseconds;
-        await trans.CommitAsync();
+        //await trans.CommitAsync();
 
         watch.Stop();
         t4 = watch.ElapsedMilliseconds;
@@ -200,7 +202,8 @@ public class MeterValueDbService
                 VALUES (@ConnectorId, @Value, @CreatedOn, @ContextId, @FormatId, @MeasurandId, @PhaseId, @LocationId, @UnitId, @ChargeBoxId, @TransactionId);
                 """;
 
-        SqlConnection connection = conn ?? await sqlConnectionFactory.CreateAsync();
+        bool isLocalConnection = conn is null;
+        SqlConnection connection = isLocalConnection ? await sqlConnectionFactory.CreateAsync() : conn;
 
         var parameters = new DynamicParameters();
         parameters.Add("ConnectorId", data.connectorId, DbType.Int16);
@@ -216,6 +219,11 @@ public class MeterValueDbService
         parameters.Add("TransactionId", data.transactionId, DbType.Int32);
 
         await connection.ExecuteAsync(command, parameters, trans);
+
+        if (isLocalConnection)
+        {
+            connection.Dispose();
+        }
     }
 
     private async Task BulkInsertWithBulkCopy(IEnumerable<InsertMeterValueParam> parms)