是什么导致 RiverWare 规则乱序执行?

What causes RiverWare rules to execute out of order?

为什么 RiverWare 规则有时会乱序执行?

通常情况下,RiverWare 规则应按优先顺序执行,但有时却并非如此。

检查规则中使用的变量是否在规则执行前设置。通常可以使用已经设置的替代变量(例如数据对象中的变量)。

一种情况是规则具有尚未设置的依赖项,导致其无法有效执行。如果一个更高优先级的规则设置了这个依赖,它就会执行。这是预期的行为。

另一种情况是其中一个依赖项已被更高优先级的规则更改,导致规则重新执行。如果不需要这种行为,可以使用执行约束,例如:NOT HasRuleFiredSuccessfully("ThisRule")