2

CallRulesBizTalk には、形を持つオーケストレーションがあります。オーケストレーションが期待どおりに動作していなかったため、問題をビジネス ルール エンジン (BRE) に絞り込みました。

Business Rules ComposerのTest Policy機能を使用して、メッセージ インスタンスを指定しました。BRE がルールを評価し、出力を調べると、ルールの 1 つが完全に満たされているように見えました。そのルールの各条件は true と評価されましたが、アクションはメッセージに適用されませんでした。

なぜこれが必要なのか理解できませんでした-条件が満たされているのに、なぜアクションが適用されないのですか?!

4

1 に答える 1

6

これには、BRE で静的 .NET クラス メンバーを呼び出すことができるようにするための新しいレジストリ エントリが必要であることが判明しました。

各シナリオでレジストリ エントリがどうあるべきかを説明しているこの MSDN の記事を参照してください。デフォルトでは存在しないため、デフォルトでゼロに設定されます。これには、最初にクラス インスタンスのアサーションが必要です。

64 ビット インストールの場合、キーはMSDN で指定されたパスではなく、 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\BusinessRules\3.0にあります。

特定のアクションを適用できないことを BRE が警告しない理由がわかりません。これは非常に便利です。

テスト ポリシーの出力に というエントリが表示されたら、ルールが満たされ、アクションが適用されたことを確認できますRULE FIRED

于 2011-11-24T16:42:23.390 に答える