[英]Multiple Workflow 4.5
我一直在使用两个工作流程。 “ OrderWorkflow”是我在“ OrderWorkflow”中的主要工作流程,现在正在调用另一个工作流程“ OrderWF”时,当我加载“ OrderWF”时,它显示错误,因为---“ OrderWF”的类型不是“ OrderWorkflow”。 加载此实例时,必须确保名称为“ OrderWF”的活动实现了“ OrderWorkflow”。 下面是我的代码
public static void LoadExistingOrder(
Guid orderId, string status, string value)
{
WorkflowApplication app = new WorkflowApplication(new OrderWF());
var store = CreateInstanceStore();
app.InstanceStore = store;
app.Completed = (workflowApplicationCompletedEventArgs) =>
{
Console.WriteLine("\nWorkflowApplication has Completed in the {0} state.", workflowApplicationCompletedEventArgs.CompletionState);
};
app.Unloaded = (workflowApplicationEventArgs) =>
{
Console.WriteLine("WorkflowApplication has Unloaded\n");
};
app.PersistableIdle = (e) =>
{
return PersistableIdleAction.Unload;
};
app.Load(orderId);//getting error here
app.ResumeBookmark(status, value);
}
我认为您期望WorkflowApplication.Load(Guid)
方法执行除实际操作之外的其他操作。
.Load(Guid)
方法将工作流程的先前持久化实例加载到内存中,然后恢复其流程。 它不会加载其他类型的工作流程,然后启动该工作流程。
基本上,您的代码将执行以下操作:创建一个工作流应用程序对象,该对象具有类型为OrderWF
的工作流实例,创建并附加商店,并尝试使用给定的guid值orderId
恢复工作流。
我怀疑您要恢复的工作流是OrderWorkflow
类型,而不是OrderWF
类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.