【问题标题】:How to create a rule based feature (like in Outlook) with C#如何使用 C# 创建基于规则的功能(如在 Outlook 中)
【发布时间】:2010-08-24 14:37:53
【问题描述】:

我想为应用程序开发一项功能,它可以像在 Outlook 中那样创建动态规则。我希望每个用户都可以创建规则来自动化进程。这些规则必须在行动之前、行动之后和特定时间/天做某事。

可能的规则如下:
- 如果进程 >= 99% -> 将其设置为已完成
- 在用户插入新项目之前 -> 发送邮件到“local@localhost.com”并等待批准
- 用户更改项目的状态后 -> 更改所有具有相同名称的项目的状态
- 将每周日凌晨 4:00 的所有项目状态设置为“旧项目”状态

我尝试使用 Workflow Foundation 规则引擎执行此操作,但我不知道如何实现所有要求。
是否可以使用 WF 执行此操作,还是应该使用其他工具?

【问题讨论】:

    标签: c# workflow-foundation rules


    【解决方案1】:

    我曾经使用纯 OOP 设计过这样的系统。规则由一个或多个条件和一个或多个动作组成。每个条件类型和动作类型都是类。条件类知道如何检查外部世界。动作类知道它们是如何“执行”的,即应该做什么来采取动作。每个类都知道如何在视觉上表示自己(对于视觉规则设计器)。

    如果您希望仅通过 AND 或 OR 操作连接简单条件,则可以在规则属性中设置此操作。如果您想要更复杂的条件表示,我建议使用一些布尔评估引擎并将条件文本中的每个规则表示为它的 ID。例如。 “(RuleA_ID 和 RuleB_ID)或 RuleC_ID”。

    【讨论】:

      【解决方案2】:

      开源规则引擎。您可以使用它们或查看它们的源代码以获取灵感。 Rule Engines

      【讨论】:

        猜你喜欢
        • 2021-12-06
        • 1970-01-01
        • 2015-02-04
        • 1970-01-01
        • 2011-01-01
        • 2020-05-28
        • 1970-01-01
        • 2017-08-29
        • 1970-01-01
        相关资源
        最近更新 更多