private CountFilesResponse DoCount(FileSystemRequest request) { var cancellableOperation = new CancellableOperation <string, CountFilesResult>( fileExplorerService.CountFilesInDirectory, request.Path, request.SourceToken, CountOperationsGroup); requestPool.Add(cancellableOperation); cancellableOperation.CancelAfter(requestConfiguration.ExecutionTimeout); cancellableOperation.Operation.Wait(); var result = cancellableOperation.Operation.Result; var response = CreateCountFilesResponse(result, cancellableOperation.Cancelled); countFilesCacheRepository.Add(request.Path, response); return(response); }
private IEnumerable <FileSystemItem> DoGetDrives(FileSystemRequest request) { var cancellableOperation = new CancellableOperation <string, IEnumerable <FileSystemItem> >( fileExplorerService.GetDrives, request.SourceToken, EploreFilesOperationsGroup); cancellableOperation.CancelAfter(requestConfiguration.ExecutionTimeout); cancellableOperation.Operation.Wait(); var result = cancellableOperation.Operation.Result; if (result.Any()) { fileSystemItemsCacheRepository.Add("DrivesListCache", result.ToArray()); } return(result); }