public void TestAsyncHttpGetInSequence() { System.Diagnostics.Debug.WriteLine("TestAsyncHttpGetInSequence2"); var a = new AsyncHttpGet() { Uri = "http://fonlow.com" }; var s = new System.Activities.Statements.Sequence() { Activities = { new WriteLine() { Text = "Before AsyncHttpGet", TextWriter = new InArgument <System.IO.TextWriter>((c) => new Fonlow.Utilities.TraceWriter()) }, a, new WriteLine() { Text = "After AsyncHttpGet", TextWriter = new InArgument <System.IO.TextWriter>((c) => new Fonlow.Utilities.TraceWriter()) }, }, }; var r = WorkflowInvoker.Invoke(s); System.Diagnostics.Debug.WriteLine("After AsyncHttpGet in Sequence invoke"); //check the log file, the invoker will just run 3 activities one by one, and waiting for a to finish, though the key function of a is running in a new thread }
static void Main(string[] args) { var a = new AsyncHttpGet() { Uri = "http://fonlow.com" }; var s = new System.Activities.Statements.Sequence() { Activities = { new WriteLine() { Text = "Before AsyncHttpGet" }, a, new WriteLine() { Text = "After AsyncHttpGet" }, }, }; System.Activities.WorkflowInvoker.Invoke(s); // System.Activities.WorkflowInvoker.Invoke(new AsyncHttpGetWF()); Console.ReadLine(); }