2011-08-23 86 views
0

WF 4.0 SP1Workflow Foundation的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); 

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

感谢

+0

我的工作流程非常简单,在单个活动中有3个状态。 –

回答

1

如果您的认证是不可变的类型参数传递这样才有效。使用字典适用于所有输入类型。有关更多详细信息,请参阅here

+0

嗨,这个链接适用于在.NET 4.0中创建WorkflowApplication对象。但是当我们加载时,我们无法传递参数。所以我需要其他的方式来做到这一点 –

2

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

然后,您加载工作流程已完成,按照由

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

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

+0

谢谢,这是我可以说正确的答案,因为我昨天实施相同,它的工作。通过创建NativeActivity,它创建书签并比加载工作流程和说简历书签。 –

相关问题