1

Azureの無料アカウント(90日間の試用版)を持っていますが、ワーカーの役割がエラーになっていることがわかりました。お金がかかると思うので、監視機能を有効にしていません。

アカウントを有料アカウントにアップグレードしなくても、エラーをログに記録して取得できる場所に保存する方法はありますか?

4

4 に答える 4

2

ワーカーロールのOnStart()メソッドで、未処理の例外のイベントをアタッチできます。

    public override bool OnStart()
    {
        AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

        bool result = base.OnStart();

        Trace.TraceInformation("ReceiverRole has been started");

        return result;
    }


    private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
    {
        Trace.TraceError("Unhandled exception in worker role: {0}", e.ExceptionObject);
    }
于 2017-01-07T15:01:19.687 に答える
1

ワーカーロールの診断データ(トレースログ、イベントログ、パフォーマンスカウンターなど)を収集できる(Windows Azure Diagnostics )を確認します。構成によっては、この診断データをWindowsAzureテーブルストレージに永続化できます。任意のストレージエクスプローラーを使用して診断データを表示できます。

于 2012-09-03T16:24:23.187 に答える
1

Azure Diagnosticsの実装にはかなりの時間がかかり、これまでのところ最善の方法は、自分のマシンでAzure Emulatorを起動して、どのようなエラーが表示されるかを確認することでした。

何をするかというと、Azureプロジェクトをスタートアップとしてセットアップして実行するだけです。または、Azureプロジェクトを右クリックして、[デバッグ]->[新しいインスタンスの開始]を選択します。

于 2012-09-03T16:29:29.760 に答える
0

非常に安価な方法は、例外の内容をスタックとともにStorageAccountテーブルに送信するロールエラーハンドラーに追加することです。クラウドストレージブラウザを使用してテーブルの内容を表示し、例外の詳細を確認できます。これは、テーブルの内容をSSにダウンロードし、エラーを参照できるスマートクライアントを作成する、優れた「社内」アプリを作成するために、時間の経過とともに成熟する可能性があります。

このシステムは、UTCを介して冗長性を設定し、タイムスタンプに対応できるように実装されています。ロギングは別のワーカーロールで実行されるため、「本番」ロールはキューにポストされます。キューは、失敗したロールが処理するのに非常に高速です。

于 2012-09-05T21:21:13.880 に答える