瀏覽代碼

心跳调整

Jeremy 2 年之前
父節點
當前提交
15acbb2e31
共有 2 個文件被更改,包括 13 次插入3 次删除
  1. 9 3
      Common/DeviceHeartRateManager.cs
  2. 4 0
      Service/ConnectService.cs

+ 9 - 3
Common/DeviceHeartRateManager.cs

@@ -46,20 +46,26 @@ namespace WingDeviceService.Common
                     await Task.Delay(1 * 60 * 1000);
                     foreach (var token in _devices.Keys)
                     {
+                        var heartRate = _devices[token];
+                        heartRate.DeActivate();
                         try
                         {
-                            var heartRate = _devices[token];
-                            heartRate.DeActivate();
                             if (heartRate.LeftTime < 0)
                             {
                                 OnSetOnlineState?.Invoke(token, false);
-                                _devices.TryRemove(token, out _);
                             }
                         }
                         catch (Exception ex)
                         {
                             Logger.WriteLineWarn($"check client token {token} err, {ex}");
                         }
+                        finally
+                        {
+                            if (heartRate.LeftTime < 0)
+                            {
+                                _devices.TryRemove(token, out _);
+                            }
+                        }
                     }
                 }
             });

+ 4 - 0
Service/ConnectService.cs

@@ -127,6 +127,10 @@ namespace WingDeviceService.Service
                 }
                 var applyRequest = new ApplyTokenRequest(AccountType.US, deviceName, request.Platform, request.LoginSource, deviceCode, _sourceUrl, 0);
                 var tokenInfo = await _authenticationService.ApplyTokenAsync(applyRequest);
+                if (!string.IsNullOrWhiteSpace(tokenInfo.Code))
+                {
+                    _deviceHeartRateManager.AddOrUpdate(tokenInfo.Code);
+                }
                 return new ConnectResult
                 {
                     Token = tokenInfo.Code,