Przeglądaj źródła

1.延長內部下發指令等待電樁回覆時間 到10分鐘,等電樁時間內等待電樁回覆

Jessica Tseng 2 lat temu
rodzic
commit
86d74463d3

+ 4 - 4
EVCB_OCPP.WSServer/Properties/AssemblyInfo.cs

@@ -31,8 +31,8 @@ using System.Runtime.InteropServices;
 //
 // 您可以指定所有的值,或將組建編號或修訂編號設為預設值
 // 指定為預設值: 
-// [assembly: AssemblyVersion("1.0.5.0")]
-[assembly: AssemblyVersion("1.0.5.0")]
-[assembly: AssemblyFileVersion("1.0.5.0")]
+// [assembly: AssemblyVersion("1.0.6.0")]
+[assembly: AssemblyVersion("1.0.6.0")]
+[assembly: AssemblyFileVersion("1.0.6.0")]
 
-[assembly: AssemblyInformationalVersion("c652666")]
+[assembly: AssemblyInformationalVersion("da8c40a")]

+ 15 - 16
EVCB_OCPP.WSServer/ProtalServer.cs

@@ -292,7 +292,7 @@ namespace EVCB_OCPP.WSServer
                     SerialNo = Guid.NewGuid().ToString(),
                     InMessage = string.Empty
 
-                });              
+                });
 
                 db.SaveChanges();
             }
@@ -752,7 +752,7 @@ namespace EVCB_OCPP.WSServer
                                 {
                                     if (((BootNotificationConfirmation)replyResult.Message).status == Packet.Messages.SubTypes.RegistrationStatus.Accepted)
                                     {
-                                        session.IsCheckIn = true;                                      
+                                        session.IsCheckIn = true;
                                         CheckVersion(session.ChargeBoxId);
                                         CheckEVSEConfigure(session.ChargeBoxId);
 
@@ -1324,7 +1324,7 @@ namespace EVCB_OCPP.WSServer
 
                 try
                 {
-                    RemoveConfirmMessage();                   
+                    RemoveConfirmMessage();
                     BasicMessageHandler msgAnalyser = new BasicMessageHandler();
                     using (var db = new MainDBContext())
                     {
@@ -1346,7 +1346,7 @@ namespace EVCB_OCPP.WSServer
                             ClientData session;
                             if (clientDic.TryGetValue(resendItem.ChargePointSerialNumber, out session))
                             {
-                                if (DateTime.UtcNow.Subtract(resendItem.SentOn).TotalSeconds > 1)
+                                if (resendItem.SentTimes > 0 && DateTime.UtcNow.Subtract(resendItem.SentOn).TotalSeconds > 1)
                                 {
                                     resendItem.SentTimes--;
                                     resendItem.SentOn = DateTime.UtcNow;
@@ -1367,9 +1367,9 @@ namespace EVCB_OCPP.WSServer
                                 if (session.IsCheckIn && !session.ISOCPP20)
                                 {
                                     string rawRequest = string.Empty;
-                                
+
                                     var cmdList = commandList.Where(c => c.ChargeBoxId == charger_SN).ToList();
-                                    
+
                                     foreach (var item in cmdList)
                                     {
                                         IRequest request = null;
@@ -1392,7 +1392,7 @@ namespace EVCB_OCPP.WSServer
                                         {
                                             request = JsonConvert.DeserializeObject(item.OutRequest, _RequestType) as IRequest;
                                             uuid = session.queue.store(request);
-                                             rawRequest = BasicMessageHandler.GenerateRequest(uuid, item.OutAction, request);
+                                            rawRequest = BasicMessageHandler.GenerateRequest(uuid, item.OutAction, request);
                                             Send(session, rawRequest, string.Format("{0} {1}", action, "Request"), "");
                                         }
 
@@ -1404,14 +1404,14 @@ namespace EVCB_OCPP.WSServer
                                             {
                                                 request = Activator.CreateInstance(_RequestType) as IRequest;
                                                 uuid = session.queue.store(request);
-                                                 rawRequest = BasicMessageHandler.GenerateDestroyRequest(uuid, item.OutAction, item.OutRequest);
+                                                rawRequest = BasicMessageHandler.GenerateDestroyRequest(uuid, item.OutAction, item.OutRequest);
                                                 Send(session, rawRequest, string.Format("{0} {1}", action, "Request"), "");
 
                                             }
                                             else
                                             {
 
-                                                 rawRequest = BasicMessageHandler.GenerateDestroyRequest(Guid.NewGuid().ToString(), item.OutAction, item.OutRequest);
+                                                rawRequest = BasicMessageHandler.GenerateDestroyRequest(Guid.NewGuid().ToString(), item.OutAction, item.OutRequest);
                                                 Send(session, rawRequest, string.Format("{0} {1}", action, "Request"), "");
 
                                             }
@@ -1934,20 +1934,20 @@ namespace EVCB_OCPP.WSServer
             List<NeedConfirmMessage> sendMessages = new List<NeedConfirmMessage>();
             lock (_lockConfirmPacketList)
             {
-                sendMessages = needConfirmPacketList.Where(x => x.SentTimes > 0 && x.CreatedBy == "Server").ToList();
+                sendMessages = needConfirmPacketList.Where(x => x.SentTimes > 1 && x.CreatedBy == "Server").ToList();
 
             }
 
             return sendMessages;
         }
 
-        private void AddConfirmMessage(string chargePointSerialNumber, int table_id, string requestId, string action, string msg_id, string createdBy,string sendMessage)
+        private void AddConfirmMessage(string chargePointSerialNumber, int table_id, string requestId, string action, string msg_id, string createdBy, string sendMessage)
         {
             NeedConfirmMessage _needConfirmMsg = new NeedConfirmMessage();
             _needConfirmMsg.Id = table_id;
             _needConfirmMsg.SentAction = action;
             _needConfirmMsg.SentOn = DateTime.UtcNow;
-            _needConfirmMsg.SentTimes = 3;
+            _needConfirmMsg.SentTimes = 4;
             _needConfirmMsg.ChargePointSerialNumber = chargePointSerialNumber;
             _needConfirmMsg.RequestId = requestId;
             _needConfirmMsg.SentUniqueId = msg_id;
@@ -1966,15 +1966,14 @@ namespace EVCB_OCPP.WSServer
 
         private void RemoveConfirmMessage()
         {
-
-            var before_3mins = DateTime.UtcNow.AddMinutes(-3);
+            var before10Mins = DateTime.UtcNow.AddMinutes(-10);
             lock (_lockConfirmPacketList)
             {
-                var removeList = needConfirmPacketList.Where(x => x.SentTimes == 0 || x.SentOn < before_3mins).ToList();
+                var removeList = needConfirmPacketList.Where(x => x.SentTimes == 0 || x.SentOn < before10Mins).ToList();
                 foreach (var item in removeList)
                 {
                     needConfirmPacketList.Remove(item);
-                }
+                }               
             }
         }
 

BIN
SocketCommon/bin/Release/SuperSocket.Common.dll