protected void OnDependenciesMet(StateBuilderContext stateBuilderContext) { Task task = Task.Run(async delegate { try { await Task.Delay(TimeSpan.FromMilliseconds(50), stateBuilderContext.CancellationToken); if (!stateBuilderContext.CancellationToken.IsCancellationRequested) { DoWork(stateBuilderContext); } } catch (TaskCanceledException) { stateBuilderContext.Cancel(); } catch (Exception ex) { OnException(ex); stateBuilderContext.Cancel(); } finally { stateBuilderContext = null; } }, stateBuilderContext.CancellationToken); var taskList = _workItem.Container.Resolve <IList <Task> >(); taskList.Add(task); /*Task.Run(async delegate * { * try * { * await Task.Delay(TimeSpan.FromMilliseconds(50), stateBuilderContext.CancellationToken); * if (!stateBuilderContext.CancellationToken.IsCancellationRequested) * { * DoWork(stateBuilderContext); * } * } * catch (TaskCanceledException) * { * stateBuilderContext.Cancel(); * } * catch (Exception ex) * { * OnException(ex); * stateBuilderContext.Cancel(); * } * finally * { * stateBuilderContext = null; * } * }, stateBuilderContext.CancellationToken);*/ }
protected void DoWork(StateBuilderContext stateBuilderContext) { GetStateObject(stateBuilderContext); }
protected abstract void GetStateObject(StateBuilderContext context);
protected void OnDependenciesNotMet(StateBuilderContext stateBuilderContext) { stateBuilderContext.SetResult(null); }