0

このパイプライン コンポーネントを少し変更したところ、次のようになりました

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

これが私がコンポーネントを実装した方法です:

コンポーネントの実装方法 http://img267.imageshack.us/img267/2758/biztalk.png

プロジェクトをデプロイしてテストしようとすると、デバッグ出力は次のようになります。

  • [1932] DEBUG: コンストラクタ
  • [1932] デバッグ: ロード
  • [1932] デバッグ: ReadPropertyBag、propName: BatchSize
  • [1932] DEBUG: BatchSize: 5

Disassembleメソッドが呼び出されないようです。なんで?

4

2 に答える 2

1

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

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

于 2012-04-23T00:25:06.350 に答える
0

IProbe インターフェイスを実装したかどうか疑問に思っています。逆アセンブル段階では、BizTalk は IProbe を呼び出して、コンポーネントがメッセージを修飾するかどうかを判断します。修飾されている場合は逆アセンブルが実行され、そうでない場合は実行されます。

于 2012-04-24T02:05:25.817 に答える