public async Task <TResponse> Handle(TRequest request, CancellationToken cancellationToken) { try { Logger.LogInformation($"----- Handling command: {request}"); var result = await HandleEx(request, cancellationToken); UnitOfWork.CompleteTransaction(); return(result); } catch (BaseHttpException bex) { UnitOfWork.AbortTransaction(); throw bex; } catch (Exception ex) { Logger.LogInformation($"----- Error during command: {ex.Message}"); UnitOfWork.AbortTransaction(); return(default);