private void DoStartJobAsync(object state) { _tracer.WriteMessage(ClassNameTrace, "DoStartJobAsync", WorkflowGuidForTraces, this, ""); Dbg.Assert(state == null, "State is never used"); var asyncOp = AsyncOperationManager.CreateOperation(null); var workerDelegate = new JobActionWorkerDelegate(JobActionWorker); workerDelegate.BeginInvoke( asyncOp, ActionType.Start, string.Empty, string.Empty, false, null, null); }
private void DoResumeJobAsync(object state) { _tracer.WriteMessage(ClassNameTrace, "DoResumeJobAsync", WorkflowGuidForTraces, this, ""); var label = state as string; var asyncOp = AsyncOperationManager.CreateOperation(null); var workerDelegate = new JobActionWorkerDelegate(JobActionWorker); workerDelegate.BeginInvoke( asyncOp, ActionType.Resume, string.Empty, label, false, null, null); }
/// <summary> /// Stop job asynchronously /// </summary> /// <param name="force">True to force stop</param> /// <param name="reason">Reason for forced stop</param> /// <param name="suppressError">Suppress error for forced stop</param> public void StopJobAsync(bool force, string reason, bool suppressError) { AssertNotDisposed(); _tracer.WriteMessage(ClassNameTrace, "StopJobAsync", WorkflowGuidForTraces, this, ""); var asyncOp = AsyncOperationManager.CreateOperation(null); var workerDelegate = new JobActionWorkerDelegate(JobActionWorker); ActionType actionType = ActionType.Stop; if (force) { actionType = ActionType.Terminate; } workerDelegate.BeginInvoke( asyncOp, actionType, reason, string.Empty, suppressError, null, null); }
/// <summary> /// Suspend Job Asynchronously /// </summary> /// <param name="force"></param> /// <param name="reason"></param> public override void SuspendJobAsync(bool force, string reason) { AssertNotDisposed(); _tracer.WriteMessage(ClassNameTrace, "SuspendJobAsync", WorkflowGuidForTraces, this, ""); var asyncOp = AsyncOperationManager.CreateOperation(null); var workerDelegate = new JobActionWorkerDelegate(JobActionWorker); ActionType actionType = ActionType.Suspend; if (force) { actionType = ActionType.Abort; } workerDelegate.BeginInvoke( asyncOp, actionType, reason, string.Empty, false, null, null); }
/// <summary> /// Asynchronously suspend a job /// </summary> public override void SuspendJobAsync() { AssertNotDisposed(); _tracer.WriteMessage(ClassNameTrace, "SuspendJobAsync", WorkflowGuidForTraces, this, ""); var asyncOp = AsyncOperationManager.CreateOperation(null); var workerDelegate = new JobActionWorkerDelegate(JobActionWorker); workerDelegate.BeginInvoke( asyncOp, ActionType.Suspend, string.Empty, string.Empty, false, null, null); }