使用 new WorkflowApplication() 时传递工作流实例 ID
Passing workflow instance Id when using new WorkflowApplication()
我有一个工作流服务主机。在工作流服务中,我有一个 activity 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();
}
}
工作流instanceid = "06DD16A5-D4B2-4907-A6FF-CA6021E66D75" 当我通过代码获取时:context.WorkflowInstanceId
在 ExecuteCounterActivity 中,我新建了一个 Workflow 应用程序 CounterActivity。因此,在 CounterActivity 中。我得到 workflowInstaceId,它将 return 一个新的实例 ID:“444FEC86-62C1-4AAC-A857-9B9559051E63”
我的期望:CounterActivity中的工作流instanceId与ExecuteCounterActivity中的instanceId相同。
目前,我对此没有任何解决方案,所以有人可以向我展示解决我的问题的解决方案吗?
您可以尝试不同的方法,使用组合活动或像这样安排它:
protected override void Execute(CodeActivityContext context)
{
context.ScheduleActivity(new CounterActivity());
}
Custom Composite Activity @msdn
Scheduling Child Activity
我有一个工作流服务主机。在工作流服务中,我有一个 activity 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();
}
}
工作流instanceid = "06DD16A5-D4B2-4907-A6FF-CA6021E66D75" 当我通过代码获取时:context.WorkflowInstanceId
在 ExecuteCounterActivity 中,我新建了一个 Workflow 应用程序 CounterActivity。因此,在 CounterActivity 中。我得到 workflowInstaceId,它将 return 一个新的实例 ID:“444FEC86-62C1-4AAC-A857-9B9559051E63”
我的期望:CounterActivity中的工作流instanceId与ExecuteCounterActivity中的instanceId相同。
目前,我对此没有任何解决方案,所以有人可以向我展示解决我的问题的解决方案吗?
您可以尝试不同的方法,使用组合活动或像这样安排它:
protected override void Execute(CodeActivityContext context)
{
context.ScheduleActivity(new CounterActivity());
}
Custom Composite Activity @msdn
Scheduling Child Activity