如何在与调用线程相同的线程上调用工作流

时间:2017-06-13 20:12:21

标签: c#-4.0 workflow workflow-foundation-4 synchronizationcontext native-activity

我正在使用WF来运行活动,我想在与调用线程相同的线程上同步调用活动。我如何使用WorkflowInvoker.Invoke来做到这一点?以下是我的代码片段:

public int RunTransactionActivity(ActivityInputBundle inputBundle)
    {
            int returnCode = 100;

            ActivityFactory actFactory = new ActivityFactory();
            NativeActivity NA = null;

            NA = actFactory.GetTransactionActivity(inputBundle.ActivityName);


            Dictionary<string, object> inputs = new Dictionary<string, object>();
            inputs.Add("InputBundle", inputBundle);
            IDictionary<string, object> output;

            output = WorkflowInvoker.Invoke(NA, inputs);

            returnCode = Int32.Parse(output["ReturnCode"].ToString());

        return returnCode;

    }

问题是,似乎活动(NA)在不同的线程上运行。有没有办法让我在同一个线程上运行活动?我已经阅读了可以使用SynchronizationContext与WorkflowApplcation一起使用的文章,但是我在使用带有输出/返回参数的WorkflowApplication.Run()时遇到了问题。

0 个答案:

没有答案