コンテンツへスキップ

カスタムアダプターのデバッグ

2010年9月27日

BTSで止むを得ずカスタムアダプターを作成しなくてはならない場合があります。

アダプター屋さんじゃないと1から作るのは難儀なので、SDKサンプルをテンプレートにして作成します。

 

さて、SDKサンプルからFILEアダプター(DotNetFileAdapter)をコピーして、少しカスタマイズしてビルド、レジストリ登録してBizTalkにも登録し動かしてみました。しかし、動作するものの期待通りの動作をしてくれませんでした。

デバッグしなければならなくなったので、デバッグの方法を調べてみました。

  1. トレース出力
  2. プロセスにアタッチ

 

1.トレース出力

コードでは下記のようにTraceクラスを使用します。

   1: Trace.WriteLine("[DotNetFileReceiverEndpoint] PickupFilesAndSubmit called");

次にBizTalkホストの構成ファイル BTSNTSvc.exe.config に下記のエントリーを追加します。このファイルはBTSインストールフォルダにあります。

   1: <configuration>
   2:     <system.diagnostics>
   3:         <trace autoflush="true" indentsize="4">
   4:             <listeners>
   5:                 <add name="LogFile"
   6:                     type="System.Diagnostics.TextWriterTraceListener"
   7:                     initializeData="C:\test.txt" />
   8:                 <remove name="Default"/>
   9:             </listeners>
  10:         </trace>
  11:     </system.diagnostics>
  12: <configuration>

この設定ですと、C:\test.txtにログが出ます。ごく普通のトレース出力方法ですが、リスナーの設定をBTSNTSvc.exe.configに書くのがポイントです。

 

2.プロセスにアタッチ

ステップインしてデバッグすることもできます。ここでは、インプロセスホストの場合の説明をします。

まず、ホストインスタンスを開始し、Visual Studio 2008でBTSNTSvc.exeにアタッチします。

BTSNTSvc.exeが見当たらない場合は、[すべてのユーザーからのプロセスを表示する] [すべてのセッションのプロセスを表示する]にチェックを付けてみてください。

image

次に、コードにブレークポイントを設定します。すると、ステップインしてきます。

image

Windowsサービスのデバッグと似たような要領でデバッグできます。

From → BizTalk

コメントする

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。