public static AsynResult CreateSuccess(string msg = "") { var result = new AsynResult(); result.Message = msg; result.Success = true; return(result); }
public static AsynResult CreateUnsuccress(Exception ex) { var result = new AsynResult(); result.Exception = ex; result.Message = ex.Message; result.Success = false; return(result); }
public static void QueueTask(Action action, Action <AsynResult> callback) { var task = new Task(action); task.ContinueWith(t => callback(AsynResult.CreateUnsuccress(t.Exception)), TaskContinuationOptions.NotOnRanToCompletion); task.ContinueWith(t => callback(AsynResult.CreateSuccess()), TaskContinuationOptions.OnlyOnRanToCompletion); allTasks.Enqueue(task); sync.Set(); }