短期事实与长期事实
两种类型的事实会添加到规则引擎的工作内存中 — 短期事实和长期事实。
短期事实
短期事实特定于规则引擎的单个执行循环。 策略执行之后会自动从规则引擎的工作内存中取消短期事实。 如果在策略的规则引擎的两次执行循环之间数据发生了更改,则您所提交的数据将作为短期事实提交给规则引擎。
短期事实的示例有:
作为参数提交到 Policy.Execute 方法的事实。
作为参数提交到 “调用规则” 形状的事实。
使用 Assert 函数通过规则的操作提交的事实。
长期事实
长期事实加载到规则引擎的工作内存中,可跨任意数量的执行循环使用。 通常情况下,长期事实的变化较慢,在策略的执行间隔中通常不会发生更改。 例如,您可能只想创建一次数据库连接,并想使用同一数据库连接多次执行策略。 实际上,短期事实和长期事实之间唯一的差别在于实现。
若要将事实作为长期事实提交,需要执行以下步骤:
创建实现 IFactRetriever 接口的事实检索器组件。 首次调用 UpdateFacts 方法时,创建事实并将其断言到规则引擎的工作内存中,并在必要时更新 UpdateFacts 方法的后续调用。
使用业务规则编辑器,将策略配置为使用事实检索器组件。
有关创建事实检索器并在策略中使用它的详细信息,请参阅 如何创建事实检索器。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈