【问题标题】:Example of c# based rule language?基于 c# 的规则语言的示例?
【发布时间】:2010-09-07 19:30:13
【问题描述】:

您能否提供一个用 C# 编写的规则定义语言的好例子。
Java大佬有JESS,C#有什么好用的吗?

【问题讨论】:

标签: c# rule-engine


【解决方案1】:

本页展示了一些 C# 中的开源规则引擎示例:http://csharp-source.net/open-source/rule-engines

【讨论】:

    【解决方案2】:

    您可以使用作为 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

    【讨论】:

      【解决方案3】:

      试试http://rulesengine.codeplex.com 它有一个用于创建规则的流利界面包装器。 它轻巧且易于使用。

      【讨论】:

      • 我不会称其为 IMO 规则引擎。它更像是一个验证引擎。
      【解决方案4】:

      您可以在 C# 中使用 Windows Workflow Foundation 的 (WF) 工作流引擎。我开始了一个使用 WF 作为工作流引擎的小而简单的项目,它实际上使用起来非常简单。查看我在here 上开发的第一部分条目。

      WF 的有趣之处在于,如果您愿意,您不必使用整个东西 - 如果您只想针对某些实体或对象编写一些自定义规则,您可以 - 非常巧妙!此外,它比 BizTalk 的 BRE 少得多(而且没有许可成本)。

      您需要添加对以下 .Net 程序集的引用,这些程序集在 .Net Framework v3.0 及更高版本中可用:

      • System.Workflow.Activity
      • System.Workflow.ComponentModel
      • System.Workflow.Runtime

      查看文章了解更多信息。

      【讨论】:

        【解决方案5】:

        有 Microsoft 业务规则引擎:http://msdn.microsoft.com/en-us/library/aa561216.aspx。不确定它是否只能在 Biztalk 中使用 - 它确实说它是一个 .Net 类库。

        【讨论】:

        • 它可以在 BizTalk 之外使用,但您需要一个有效的 BizTalk 许可证。
        【解决方案6】:

        Microsoft 业务规则引擎 (BRE) 相当不错。但是(这是一个很大的问题)您需要 BizTalk Server 许可证才能使用它。

        【讨论】:

          【解决方案7】:

          看看Jetfire on codeplex。它支持正向链接'rules'。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-04-24
            • 1970-01-01
            • 1970-01-01
            • 2021-03-28
            • 2016-03-04
            • 1970-01-01
            相关资源
            最近更新 更多