2012-04-09 17 views
0

私は、Webの役割としてazureでホストされているWebサービスを持っています。 このWebロールでは、基本的にワーカーロールとして機能するために、Run()メソッドをオーバーライドして、以下の順序でいくつかのdbオペレーションを実行します。WebRoleが起動しない原因は何ですか?

  1. 小さなデータセットを取得するためにブロブストレージに移動します。

  2. 将来の使用のためにこのデータをキャッシュしてください。

  3. 古すぎるいくつかのブロブを削除します。

  4. Thread.Sleep(900000); 
    

基本的操作は、バックグラウンドで15分ごとに繰り返されます。 DevFabricを実行するとうまく動作しますが、デプロイされたときには、蒼穹のポータルがロールを安定させてノードを準備するループに詰まってしまいます。

いずれのインスタンスも実際には起動しません。 診断が有効になっており、問題があると示唆するものが表示されません。 私はなぜこれが起こっている可能性があるのか​​分からない。

答えて

0

他の誰かが私を助けようと努力しているのであれば、私自身の質問にはお答えしたくありませんが、これを解決するために私が使ったアプローチを文書化する必要があります。

Azureにデプロイする際にintellitraceを有効にしたため、すべての例外がスローされ、例外の原因が調査されました。

インテリセンスは、配備の問題を解決する上で非常に重要でした。私は、devfabricのデプロイとazureへのデプロイとの間に矛盾があるのを誰にも勧めています。

1

OnStartでエラーのようなサウンドがスローされています。関数全体をtry/catchしてエラーをEventViewerにダンプする方法はありますか?そこから、インスタンスに遠隔操作してエラーを調査することができます

ほとんどの場合、クラウドに展開された構成はエミュレータで実行されているものとは異なります(SQL Azureファイアウォールのアクセス許可、ATS、等)。また、診断プログラムがローカルのDevストレージではなく実際のAzureアカウントを指していることを確認してください。

1

このコードをRun()に移動することをお勧めします。 OnStart()では、ロールインスタンスがまだロードバランサーに表示されておらず、OnStart()に非常に長い(OK、無限の遅延)が導入されているため、安定化しようとしている役割に関するメッセージが表示されている可能性がありますこれらのメッセージの詳細はhereです。

+0

私はRun()でこのコードを実行していました。 OnStart()はタイプミスでした。謝罪いたします。 – BentOnCoding

関連する問題