/// <summary> /// Resumes the <see cref="ActivityActor{TActivity}"/> with the given <paramref name="value"/>. /// </summary> /// <param name="bookmark"></param> /// <param name="value"></param> /// <param name="timeout"></param> /// <returns></returns> internal async Task <BookmarkResumptionResult> ResumeAsync(Bookmark bookmark, object value, TimeSpan timeout) { Contract.Requires <ArgumentNullException>(bookmark != null); ThrowIfInvalidState(); return(await InvokeAndPump(() => workflow.ResumeBookmarkAsync(bookmark, value, timeout))); }
/// <summary> /// Resumes the <see cref="ActivityActor{TActivity}"/> with the given <paramref name="value"/>. /// </summary> /// <param name="bookmark"></param> /// <param name="value"></param> /// <param name="timeout"></param> /// <returns></returns> internal async Task <BookmarkResumptionResult> ResumeAsync(Bookmark bookmark, object value, TimeSpan timeout) { if (bookmark == null) { throw new ArgumentNullException(nameof(bookmark)); } ThrowIfInvalidState(); return(await InvokeAndPump(() => workflow.ResumeBookmarkAsync(bookmark, value, timeout))); }
public async Task Test_wait_result() { var wf = new WorkflowApplication(new Wait <string>("Bookmark")); var rs = wf.WaitForCompletionAsync(); await wf.RunAsync(); await Task.Delay(1000); Assert.AreEqual(BookmarkResumptionResult.Success, await wf.ResumeBookmarkAsync("Bookmark", "Done")); Assert.AreEqual("Done", (string)(await rs)["Result"]); }
public async Task Test_wait() { var wf = new WorkflowApplication(new Wait("Bookmark")); var rs = wf.WaitForCompletionAsync(); await wf.RunAsync(); await Task.Delay(1000); Assert.AreEqual(BookmarkResumptionResult.Success, await wf.ResumeBookmarkAsync("Bookmark", null)); await rs; }