workflow foundation 4.0使用参数加载工作流

时间:2011-08-23 14:54:22

标签: parameters load workflow-foundation

WF 4.0 with SP1

我们正在尝试加载工作流并根据用户操作执行状态遍历。因此,当用户说批准时,我们会通过以下内容:

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);

这个breaks.First是正确的方法,还是我应该使用书签。我对工作流程很陌生,所以这个例子会有所帮助。

由于

2 个答案:

答案 0 :(得分:2)

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

然后,按照您的方式加载工作流程,然后按

进行操作
var result = application.ResumeBookmark(bookmarkName, data);

请务必检查结果以确定它已恢复正常。 Microsoft.Activities(可在CodePlex上使用)有一些扩展方法,可以使这更容易。有关示例,请参阅Microsoft.Activ​ities.UnitTesti​ng - How do I test an activity with bookmarks?

答案 1 :(得分:1)

这种传递参数的方式仅在您的Approvals是不可变类型时才有效。使用词典适用于所有输入类型。有关详细信息,请参阅here