Parameters 工作流基础4加载带参数的工作流

Parameters 工作流基础4加载带参数的工作流,parameters,load,workflow-foundation,Parameters,Load,Workflow Foundation,带有SP1的WF 4.0 我们正在尝试加载工作流并基于用户操作进行状态遍历。所以,当用户说“批准”时,我们会传递如下消息: var activity = new StateMachineApprovalFlow(); WorkflowApplication application = new WorkflowApplication(activity); var approval = new Approval(); approval.Status =

带有SP1的WF 4.0

我们正在尝试加载工作流并基于用户操作进行状态遍历。所以,当用户说“批准”时,我们会传递如下消息:

var activity = new StateMachineApprovalFlow();
        WorkflowApplication application = new WorkflowApplication(activity);
        var approval = new Approval();
        approval.Status = ApprovalStatus.Completed;
        activity.Approval = approval;

        SetupInstanceStore();
        application.InstanceStore = store;

        application.Extensions.Add(new OracleTrackingParticipant());

        application.Load(instanceId);
首先,这是正确的方法还是我应该使用书签。我对工作流非常陌生,所以示例将有所帮助


谢谢

只有当您的批准是不可变类型时,这种传递参数的方法才有效。使用字典可以处理所有输入类型。有关更多详细信息,请参阅。

这种传递参数的方法仅在您的批准为不可变类型时有效。使用字典可以处理所有输入类型。有关详细信息,请参阅。

首先,您需要创建一个创建书签的活动。然后必须运行工作流,直到它在等待书签时变为空闲

然后,您将按所做的方式加载工作流,然后按

var result = application.ResumeBookmark(bookmarkName, data);

一定要检查结果,看它是否恢复正常。Microsoft.Activities(可在CodePlex上获得)也有一些扩展方法来简化这一过程。有关示例,请参见:首先,您需要创建一个创建书签的活动。然后必须运行工作流,直到它在等待书签时变为空闲

然后,您将按所做的方式加载工作流,然后按

var result = application.ResumeBookmark(bookmarkName, data);

一定要检查结果,看它是否恢复正常。Microsoft.Activities(可在CodePlex上获得)也有一些扩展方法来简化这一过程。有关示例,请参见

我的工作流程非常简单,单个活动中有3种状态。我的工作流程非常简单,单个活动中有3种状态。您好,此链接适用于在.Net 4.0中创建WorkflowApplication对象。但是当我们加载时,我们不能传递参数。所以我需要其他方法来实现这一点。在.NET4.0中,这个链接可以很好地用于创建WorkflowApplication对象。但是当我们加载时,我们不能传递参数。所以我需要其他的方法来实现这一点。谢谢,这是我昨天实现的正确答案,它很有效。通过创建NativeActivity,它创建书签,然后加载工作流程,说是resume bookmark。谢谢,这是我昨天实现的正确答案,它成功了。通过创建NativeActivity,它创建书签,然后加载工作流,并说恢复书签。