0

ワーカーロールを介して自動メールを送信するアプリケーションがあります。Visual Studioでアプリケーションをデバッグすると、WorkerRole.csでOnStart()を設定したタスクが完全に機能し、5分ごとにメールが届きます(テスト目的で)。WorkerRole.csの私のコード:

   public override bool OnStart()

    {
        ScheduledTaskTimer.Elapsed += new ElapsedEventHandler(ScheduledTaskTimer_Elapsed);
        // ScheduledTaskTimer.Interval = 86400000;
        ScheduledTaskTimer.Interval = 180000;

        ScheduledTaskTimer.Enabled = true;
        return base.OnStart(); }

しかし、Windows Azureに展開すると、ワーカーの役割が機能していないようです。メールが届かない。ワーカーロールが実際に実行されているかどうかを確認する方法がわからない。

4

2 に答える 2

1

http://windows.azure.comでMicrosoftが提供するSilverlightインターフェイスを使用して、ワーカーの役割の状態を表示できます 。

WorkerRoleが「準備完了」状態にならないことがわかった場合は、多くの場合、WorkerRoleを開始できないことを意味します。これは、おそらくOnStart()メソッドで例外がスローされることを意味します。

何が起こっているのかを理解したい場合は、次のことができます。

  1. イベントログの記録を構成する
  2. サーバーにアクセスするようにリモートデスクトッププロトコルを構成する
  3. OnStartメソッドのすべてのコードを試してキャッチし、データベースに例外を記録します。ELMAHを使用してこれを簡単に行うことができます
于 2012-05-15T19:55:35.740 に答える
0

以下の質問で私のコメントを研究してください:

Webroleは起動しておらず、常に忙しい

ワーカーロールの場合、Webサーバーを実行していない場合は、上記の手順2)に従う必要はありませんが、他のすべての手順でこの問題のトラブルシューティングを行うことができます。

于 2012-05-15T14:02:10.533 に答える