【问题标题】:Multiple Workflow 4.5多工作流 4.5
【发布时间】:2015-12-03 13:13:03
【问题描述】:

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


    }

【问题讨论】:

    标签: c# wpf workflow-foundation-4


    【解决方案1】:

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

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

    基本上,您的代码的作用是创建一个工作流实例类型为 OrderWF 的工作流应用程序对象,创建并附加一个存储,并尝试使用给定的 guid 值 orderId 恢复工作流。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多