我目前正在搜索适用于.NET的规则引擎.我们的逻辑很简单,+, - ,*,/,和/或基本的操作顺序.但是,我们需要将此信息存储在数据库中,然后在从数据库中提取新版本时生成规则文件.因此,除非其中一个具有Web版UI编辑器,否则常见的UI编辑对我们来说将毫无用处.
所以我的问题是,鉴于我所说的,在编程配置和与ASP.NET集成方面,这将是我们最好的规则引擎.
我在世界自然基金会的经历非常糟糕.它非常适合开发您知道将要存在的工作流程(例如"此文档发送给一个人的经理,然后发送给HR,如果它无效则返回给提交者")但如果您想要动态配置,则会非常痛苦.正如你所知,我们试图将它用于一个完全可配置的系统,BizTalk做得非常好,而且看起来MS并不热衷于让开发人员如此便宜地取代BizTalk.
我们还研究了使用Acumen规则引擎和工具,它们看起来非常适合我们需要的工具,尽管我们没有时间去除WWF并更换它.
我强烈建议如果您的规则相对简单,您要么使用规则引擎,要么拥有源代码或自己编写. 贾斯汀Etheredge有2个 部分有关通过使用标识的模式自定义规则执行域验证文章领域驱动设计(埃文斯).
我按照相同的指导原则在我当前的项目中实现了一个类似的系统,并从数据库中序列化/反序列化规则.我将不得不看看Drools.NET.