0

我正在使用 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() 时遇到问题。

4

0 回答 0