基于 c# 的规则语言的示例?
Posted
技术标签:
【中文标题】基于 c# 的规则语言的示例?【英文标题】:Example of c# based rule language? 【发布时间】:2010-09-07 19:30:13 【问题描述】:您能否提供一个用 C# 编写的规则定义语言的好例子。 Java大佬有JESS,C#有什么好用的吗?
【问题讨论】:
这篇文章可以帮助到codeproject.com/KB/aspnet/buisness-rules-asp-net.aspx 【参考方案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'。
【讨论】:
以上是关于基于 c# 的规则语言的示例?的主要内容,如果未能解决你的问题,请参考以下文章
哪些规则管理 .NET 应用程序和 C# 语言的跨版本兼容性?