0

クラスを使用して、既存の Functoid ではうまく実現できなかったいくつかのカスタム ロジックを提供する、biztalk (2006 R2) マップがあります。

このクラスのメソッドの 1 つから例外がスローされると、例外の詳細は残念ながら失われます (少なくとも私が見る限り)。'Function 'ScriptNS-:DoFoo()' has failed'

それ以来、スクリプト Functoid をマップで使用することは大惨事を招くという結論に達しましたが、それはまた別の議論です。私の質問は、例外の詳細が親オーケストレーションに渡されることを許可するメカニズムはありますか?

4

1 に答える 1

1

「System.Diagnostics.Trace」クラスを使用して、その進行状況に関連するメソッド内のものを出力してみてください。メソッドが期待するものとは異なる可能性があるため、入力パラメーターの出力から始めます。

簡単な例:

System.Diagnostics.Trace.WriteLine("HelperClass XX - Method YY - This was passed from the map : " + inputParamOne);

明確な命名基準を使用すると、無料のツール DebugView 内でのフィルター処理が容易になります。特に、マシンで自分のもの以上のものを実行している場合はそうです。このトレースは、後で非常に貴重であることが判明することが多いため、残しておくことがよくあります。リスナーが接続されていない場合、オーバーヘッドは通常無視できます。

マップを展開して BizTalk 開発マシンで実行している場合は、次の手順を実行してデバッグできます。

  • メソッドにブレークポイントを設定する
  • 「デバッグ - プロセスにアタッチ」を選択します
  • マップを実行している対応するポートまたはオーケストレーションを処理する HostInstance プロセス (32 ビットの場合は BTSNTSvc.exe) に接続します。
于 2009-08-28T22:54:34.270 に答える