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

本文关键字:WF4 运行 活动 规则 何使用 | 更新日期: 2023-09-27 17:57:43

我正在尝试创建一个发票处理工作流,我接触过WF4的System.Activities.Rules部分,我有点喜欢它。但是,我想从规则开始,而不是先启动"活动"。

像这个

发票收款=发票

对于每张发票,将其放入一个信封中,其中将包含工作流元数据,如状态、下一个活动等。

在一组规则上加上信封,如果条件匹配,则使用一组参数设置下一个"活动",例如,如果CustomerID=XYZ,则设置NextActivity(SplitInvoiceActivity(Customer1,Customer2,Percentage))

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

我将如何用WF4活动对此进行建模?我应该从中派生的Wich类型的活动,nativeActivity,CodeActivity等

提前Thx!

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

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

关于你的活动集体诉讼。一般来说,派生自CodeActivity的是做一些工作并已完成的简单类型的活动。只有当您需要由多个子活动组成的更强大的活动,或者需要长时间运行并创建书签时,才需要使用NativeActivity。也就是说,你可以一直使用NativeActivity,因为CodeActivity中没有什么是你在NativeActivity中做不到的,也没有真正的性能差异。