如何使用WF4规则来运行WF4活动

时间:2011-05-27 06:34:41

标签: c# .net workflow-foundation-4 rules rule-engine

我正在尝试制作发票处理工作流程,并涉及WF4的System.Activities.Rules部分,我喜欢它。但是,我想先从规则开始,而不是首先踢一个Activity。

喜欢这个

收到发票的收款=发票

对于每张发票,将其放入一个信封中,其中包含工作流元数据,如status,nextActivity等。

将信封放在一组规则上,如果条件匹配,则将下一个Activity设置为一组参数,如此客户ID = XYZ,然后设置setNextActivity(SplitInvoiceActivity(Customer1,Customer2,Percentage))

然后,活动将发票拆分为2张发票,并将它们放回循环中,当没有规则适用时,我们将信封状态设置为“已处理完成”并退出。

我如何使用WF4活动对此进行建模? 我应该从哪个类型的Activity派生,nativeActivity,CodeActivity等。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

System.Activities.Rules名称空间来自哪里?在WF4中没有这样的东西。 WF3中有一个System.Workflow.Activities.Rules命名空间,但它与WF4完全无关。有一些关于如何在两种技术之间进行交互并在WF4工作流中使用WF3规则引擎的示例,但我不能真正推荐这种方法。

关于您的活动基类行动。通常来自CodeActivity,用于完成一些工作和完成的简单活动。只有当您需要由多个子活动组成的更强大的活动或需要长时间运行并创建书签时,您才需要使用NativeActivity。也就是说,你可以一直使用NativeActivity,因为CodeActivity中没有任何东西你无法在NativeActivity中做到,也没有真正的性能差异。