/// <summary> /// /// </summary> /// <param name="action"></param> /// <param name="timeOut"></param> public static TaskResult <VoidNull> Execute(Action action, int timeOut = 0) { timeOut = timeOut > 0 ? timeOut : TimeOut; TaskResult <VoidNull> taskResult = new TaskResult <VoidNull>(); try { Task result = Task.Factory.StartNew(action); if (result.Wait(timeOut)) { taskResult.ResultCode = ErrorCode.sucess; } else { taskResult.ResultCode = ErrorCode.timeout; } } catch (Exception ex) { taskResult.ResultCode = ErrorCode.exception; taskResult.ResultMsg = ex.Message; } return(taskResult); }
public static TaskResult <TResult> Execute <TResult>(Func <TResult> function, int timeOut = 0) { timeOut = timeOut > 0 ? timeOut : TimeOut; TaskResult <TResult> taskResult = new TaskResult <TResult>(); try { Task <TResult> result = Task.Factory.StartNew(function); if (result.Wait(timeOut)) { taskResult.ResultCode = ErrorCode.sucess; taskResult.Result = result.Result; } else { taskResult.ResultCode = ErrorCode.timeout; } }catch (Exception ex) { taskResult.ResultCode = ErrorCode.exception; taskResult.ResultMsg = ex.Message; } return(taskResult); }