예제 #1
0
 /// <summary>
 /// Перегруженная функция, которая чистит список запросов от
 /// запросов с истёкшим временем <see cref="SyncRequest.Expires"/>.
 /// </summary>
 /// <param name="stoppingToken">Токен для отмены операции.</param>
 protected override async Task ExecuteAsync(CancellationToken stoppingToken)
 {
     while (!stoppingToken.IsCancellationRequested)
     {
         Logger.LogInformation("ClearingRequests running at: {Time}", DateTime.Now);
         // удаление элементов с истёкшем временим жизни
         SyncRequests.RemoveAll(requset => requset.Expires < DateTime.Now);
         await Task.Delay(TimeDelay); // задержка
     }
 }
예제 #2
0
 /// <summary>
 /// Вызывается при отключении клиента
 /// </summary>
 /// <param name="exception">Информация об ошибка, если она была.</param>
 public override async Task OnDisconnectedAsync(Exception exception)
 {
     // удаление всех запросов от клиента
     SyncRequestsList.RemoveAll(syncReq => syncReq.Sender == Context.UserIdentifier);
     await base.OnDisconnectedAsync(exception);
 }