多个工作流程4.5

时间:2015-12-03 13:13:03

标签: c# wpf workflow-foundation-4

我一直在使用两个工作流程。 " 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);


    }

1 个答案:

答案 0 :(得分:0)

我认为你期望WorkflowApplication.Load(Guid)方法做一些事情而不是它实际做的事情。

.Load(Guid)方法加载先前在内存中重新加载的工作流实例,并恢复其流程。它不会加载其他类型的工作流,并启动它。

基本上,您的代码所做的是使用类型为OrderWF的工作流实例创建一个workflowapplication对象,创建并附加商店,并尝试使用给定的guid值orderId恢复工作流。< / p>

我怀疑您尝试恢复的工作流程属于OrderWorkflow类型,而不属于OrderWF类型。