你能提供一个用 C# 编写的规则定义语言的好例子吗?
Java 家伙有JESS,C# 有什么好处吗?
7 回答
此页面显示了 C# 中的一些开源规则引擎示例:http: //csharp-source.net/open-source/rule-engines
您可以使用作为 Windows Workflow Foundation(.NET 3.5 及更高版本)一部分的前向链接推理引擎,最好的部分是它具有免费的运行时许可。
您可以使用Acumen Business的Rule Manager并安装 Windows Workflow Foundation 适配器。安装后,将规则导出为 WFRules (*.rules)。将生成一个 Visual Studio .NET 解决方案,展示如何独立调用规则引擎(不需要工作流)
另请参阅http://bizknowledge.blogspot.com/search/label/Windows%20Workflow%20Foundation
试试http://rulesengine.codeplex.com 它有一个 fluent-interface 包装器来创建规则。它重量轻且易于使用。
您可以将Windows Workflow Foundation的 (WF) 工作流引擎与 C# 一起使用。我开始了一个使用 WF 作为工作流引擎的小而简单的项目,它实际上使用起来非常简单。在这里查看我一直在开发的第一部分条目。
WF 的有趣之处在于,如果您愿意,您不必使用整个东西 - 如果您只想针对某些实体或对象编写一些自定义规则,您可以 - 非常巧妙!此外,它比 BizTalk 的 BRE 少得多(而且没有许可成本)。
您需要添加对以下 .Net 程序集的引用,这些程序集在 .Net Framework v3.0 及更高版本中可用:
- 系统.工作流.活动
- System.Workflow.ComponentModel
- 系统.工作流.运行时
查看文章了解更多信息。
有 Microsoft 业务规则引擎:http: //msdn.microsoft.com/en-us/library/aa561216.aspx。不确定它是否只能在 Biztalk 内部使用 - 它确实说它是一个 .Net 类库。
Microsoft 业务规则引擎(BRE)非常好。但是(这是一个很大的问题)您需要 BizTalk Server 许可证才能使用它。
看看codeplex 上的 Jetfire。它支持前向链接“规则”。