public void RequestFileCallback(FileContentResponse response) { // TODO: Probar a quitar source? if (_pendingTasks.TryRemove(response.RequestId, out var obj) && obj is { } source) { source.SetResult(response); } }
public Task FileContentRequestCallback(FileContentResponse response) { try { Logger.LogDebug("Tratando callback {Callback} {@Response}", nameof(FileContentRequestCallback), response); _fileContentRequestClient .RequestFileCallback(response); return(Task.CompletedTask); } catch (Exception ex) { Logger.LogError(ex, "No fue posible tratar la callback {Callback} {@Response} ", nameof(FileContentRequestCallback), response); throw; } }
protected override async Task Handle(SendRequestedFileCommand request, CancellationToken cancellationToken) { try { var path = _logicPathRepository .Get(request.FileId); var content = FileHelper .GetFileContent(path); var response = new FileContentResponse(request.Id, content); await _classroomHubClient .SendAsync(methodName : request.TargetMethod, response); _logger.LogDebug("Enviado contenido archivo {Id}", request.FileId); } catch (Exception ex) { _logger.LogError(ex, "No fue posible responder a la solicitud de contenido " + "de archivo {@Request} ", request); } }