Передача идентификатора экземпляра рабочего процесса при использовании нового WorkflowApplication()
У меня есть хост службы рабочего процесса. В службе рабочего процесса у меня есть действие ExecuteCounterActivity
public sealed class ExecuteCounterActivity : CodeActivity
{
// If your activity returns a value, derive from CodeActivity<TResult>
// and return the value from the Execute method.
protected override void Execute(CodeActivityContext context)
{
var workflowInstanceId = context.WorkflowInstanceId;
var workflowApplication = new WorkflowApplication(new CounterActivity());
workflowApplication.Run();
}
}
идентификатор рабочего процесса = "06DD16A5-D4B2-4907-A6FF-CA6021E66D75", когда я получаю по коду: context.WorkflowInstanceId
В ExecuteCounterActivity я создаю приложение CounterActivity для рабочего процесса. Поэтому в CounterActivity. Я получаю workflowInstaceId, он возвращает новый идентификатор экземпляра: "444FEC86-62C1-4AAC-A857-9B9559051E63"
Мое ожидание: идентификатор экземпляра рабочего процесса в CounterActivity такой же, как с instanceId в ExecuteCounterActivity.
На данный момент у меня нет никакого решения для этого, так может кто-нибудь показать мне решение для решения моей проблемы?
1 ответ
Вы можете попробовать другой подход, используя действия по составлению или планируя его следующим образом:
protected override void Execute(CodeActivityContext context)
{
context.ScheduleActivity(new CounterActivity());
}