public async void StartArchivingAsync(List <FileInfo> fileInfos, ILogger <IArchivingService> logger, IHubContext <ArchivingHub> hubContext) { if (fileInfos == null) { return; } _cancelTokenSource = new CancellationTokenSource(); CancellationToken token = _cancelTokenSource.Token; _taskList = (from fileInfo in fileInfos where fileInfo.Extension != ArchiveConfig.ArchiveExtension select _archiver.CompressFileAsync(fileInfo, hubContext, logger, token)) .ToList(); await Task.WhenAll(_taskList); }