protected override void InternalExecute() { _action.Execute(); _action.WaitToComplete(TimeSpan.FromSeconds(30)); if (_action.Successful) { var continuationAction = _continuation(); continuationAction.Execute(); if (continuationAction.Successful) { MarkSuccesful(); } else { MarkFailed(continuationAction.Exception); } } else { MarkFailed(_action.Exception); } }
public static void ExecuteAsync(this ActionBase action) { ThreadPool.QueueUserWorkItem(_ => action.Execute()); }