Kaynağa Gözat

1、fixed serial port simulator memory overflow exception

chenkui 1 yıl önce
ebeveyn
işleme
b2769d4638

+ 9 - 3
Venus/Framework/SimulatorCore/Commons/SerialPortDeviceViewModel.cs

@@ -55,7 +55,7 @@ namespace MECF.Framework.Simulator.Core.Commons
 
         protected SerialPortDeviceSimulator _simulator;
 
-        private int maxItemNumber = 200;
+        private int maxItemNumber = 100;
 
         public SerialPortDeviceViewModel(string name) : base(name)
         {
@@ -113,7 +113,10 @@ namespace MECF.Framework.Simulator.Core.Commons
             {
                 TransactionLogItems.Add(new TransactionLogItem() { Incoming = obj, OccurTime = DateTime.Now.ToString("HH:mm:ss.fff") });
                 if (TransactionLogItems.Count > maxItemNumber)
-                    TransactionLogItems = new ObservableCollection<TransactionLogItem>(TransactionLogItems.Skip(1).Take(maxItemNumber).ToList());
+                {
+                    //TransactionLogItems = new ObservableCollection<TransactionLogItem>(TransactionLogItems.Skip(1).Take(maxItemNumber).ToList());
+                    TransactionLogItems.Clear();
+                }
                 Poll();
             }));
         }
@@ -124,7 +127,10 @@ namespace MECF.Framework.Simulator.Core.Commons
             {
                 TransactionLogItems.Add(new TransactionLogItem() { Outgoing = obj, OccurTime = DateTime.Now.ToString("HH:mm:ss.fff") });
                 if (TransactionLogItems.Count > maxItemNumber)
-                    TransactionLogItems = new ObservableCollection<TransactionLogItem>(TransactionLogItems.Skip(1).Take(maxItemNumber).ToList());
+                {
+                    TransactionLogItems.Clear();
+                    //TransactionLogItems = new ObservableCollection<TransactionLogItem>(TransactionLogItems.Skip(1).Take(maxItemNumber).ToList());
+                }
                 Poll();
             }));
         }