我一直在使用两个工作流程。 " 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);
}
答案 0 :(得分:0)
我认为你期望WorkflowApplication.Load(Guid)
方法做一些事情而不是它实际做的事情。
.Load(Guid)
方法加载先前在内存中重新加载的工作流实例,并恢复其流程。它不会加载其他类型的工作流,并启动它。
基本上,您的代码所做的是使用类型为OrderWF
的工作流实例创建一个workflowapplication对象,创建并附加商店,并尝试使用给定的guid值orderId
恢复工作流。< / p>
我怀疑您尝试恢复的工作流程属于OrderWorkflow
类型,而不属于OrderWF
类型。