2012-03-05 11 views
2

ローカルには正常に動作しますが、生地ではクラッシュします。私は遠隔デバッガを接続したいが、RDPを実行してデバッガを接続する前にプログラムがクラッシュするため、できない。AzureでWaWorkerHostを再起動します(RDP経由)

システムを再起動せずに手動でWaWorkerHost.exeを再起動する方法はありますか?

+0

これで運がいいですか? –

+0

残念ながら。 –

答えて

1

紺碧の下でデバッガを接続上のブログのシリーズ、私がsurgestなるか当面の問題に

http://blogs.u2u.be/peter/post/2011/06/21/Remote-debugging-an-Azure-Worker-role-using-Azure-Connect-Remote-desktop-and-the-remote-debugger.aspx

今(他の人々のためにここに置くが、私はあなたがここまで持っていると思い参照)やってきているあなたワーカーは、デバッガが接続されロギングされるまで、スタートアップコードで自己を中断します。

したがって、次のプロパティとメソッドを使用できます。私は待っている間も、その玉虫色を寝かせます。

 while (!(System.Diagnostics.Debugger.IsAttached && System.Diagnostics.Debugger.IsLogging())) 
     { 
      System.Threading.Thread.Sleep(1000); 
     } 
+0

これはサービスを再起動しません。また、私は実例で作業することもできません。 –

+0

私は実際の作業者を再起動するための代替案をもっと考えていました。コードの前にこれを行い、デバッガが正常に接続できるように準備が整うのを待ちます。上記の記事のように設定されていれば、プロダクションインスタンスでこれを行うことができます。これはエミュレータ用ではありません。 – Dreamwalker

6

あなたはWaWorkerHostを殺すことができる、それがWaHostBootstrapper(ちょうどそれを分を与える)ことにより、自動的に再起動されます。

あなたのコメントへの対応

私が正しくあなたを理解していれば、あなたが

  • 最初の空の労働者(またはクラッシュしない1)を展開する必要があり
  • 自分の役割のインスタンスに接続(リモートデスクトップ)
  • 次に、テストするバイナリを配備します。
+0

WaHostBootstrapperは、再起動を停止する前に再試行回数が制限されています。私が入ることができる頃には、それは遅すぎる。 –

関連する問題