Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
        }