我在 BizTalk 中有一个编排,其中有一个CallRules
形状。编排没有按预期运行,我将问题缩小到业务规则引擎 (BRE)。
我在 Business Rules Composer 中使用了Test Policy功能,并为其提供了一个消息实例。BRE 评估了这些规则,并且在检查输出时,似乎已经完全满足了其中一个规则。该规则中的每个条件都已评估为真,但这些操作尚未应用于我的消息。
我不明白为什么会这样 - 如果条件得到满足,为什么不应用这些操作?!
我在 BizTalk 中有一个编排,其中有一个CallRules
形状。编排没有按预期运行,我将问题缩小到业务规则引擎 (BRE)。
我在 Business Rules Composer 中使用了Test Policy功能,并为其提供了一个消息实例。BRE 评估了这些规则,并且在检查输出时,似乎已经完全满足了其中一个规则。该规则中的每个条件都已评估为真,但这些操作尚未应用于我的消息。
我不明白为什么会这样 - 如果条件得到满足,为什么不应用这些操作?!
事实证明,这需要一个新的注册表项来允许调用 BRE 中的静态 .NET 类成员。
请参阅此 MSDN 文章,该文章描述了每种方案的注册表项应该是什么。默认情况下它不存在,因此默认为零,这需要首先断言类实例。
对于 64 位安装,可以在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\BusinessRules\3.0而不是 MSDN 上指定的路径中找到密钥。
我不确定为什么 BRE 没有警告无法应用某些操作 - 这将非常有用。
当您在测试策略输出中看到一个名为RULE FIRED
.