2012-04-20 11 views
0

パイプラインコンポーネントを少し変更しましたが、今度はthisのように見えます。カスタム逆アセンブルパイプラインが機能しません

dllをビルドしてC:\program files (x86)\Microsoft BizTalk Server 2010\Pipeline Componentsにコピーした後、私はパイプラインの逆アセンブル段階にコンポーネントを追加しました。

これは私が部品を実装する方法である:

How I implemented the component http://img267.imageshack.us/img267/2758/biztalk.png

私はプロジェクトを展開し、デバッグ出力があり、それをテストしようとすると:

  • [1932] DEBUG:コンストラクタ
  • [1932] DEBUG:Load
  • [1932] DEBUG:ReadPropertyBag、propName:BatchSize
  • [1932] DEBUG:BatchSizeのは:5

それはDisassembleメソッドが呼び出されませんように見えます。どうして?

答えて

1

受信パイプラインの逆アセンブル段階のコンポーネントは上から順に実行されますが、実行パターンは "FirstMatch"です。これは、フラットファイル逆アセンブラがドキュメントを認識して処理するとすぐに、他の "逆アセンブル"ステージコンポーネントを実行し続けることを意味します。

解決策は、パイプラインコンポーネントをリファクタリングしてパイプラインの検証段階に配置することです。これにより、Disassemble()ではなく、Execute()メソッドにロジックを配置する必要があります。

+0

それだけです。ありがとうございました :) –

0

あなたがIProbeインターフェイスを実装したかどうかは不思議です。逆アセンブル段階で、BizTalkはIProbeを呼び出して、あなたのcomponentsがメッセージを修飾するかどうかを判断します。そうであれば逆アセンブルが実行され、そうでない場合は実行されません。

関連する問題