2012-02-16 3 views
0

C#でいくつかのAzureベースのアプリケーションを開発しており、いくつかの共通コードをユーティリティー・ライブラリーに集中させようとしています。一般的な機能の1つは、診断監視設定です。別個のアセンブリーからのAzure診断構成

我々は、我々が直面している主な問題は、我々は我々のコードを実行したときにクラスがWebRole異なるアセンブリに住んでいながら、ということである

など、転送を記録、DIAGコレクションの構成を簡素化するクラスを作成したり、 WorkerRoleでは、診断情報は収集されずに空白のテーブルストレージに転送されます。 Web/Workerロールと同じプロジェクトにクラスを移動すると、すべてが期待通りに機能します。

DiagnosticMonitor.GetDefaultInitialConfiguration();またはDiagnosticMonitor.Start(StorageConnectionStringKey、_diagConfig)。別のアセンブリにいるのが好きではないのですか?私は困惑している!

洞察力があれば幸いです。

おかげで、 マット

答えて

0

ここでどの部分が動作しませんか?トレースログは転送されませんか?それはほとんどの人が問題を抱えているようです。

私たちは同様のことを行い、問題はありません。通常、リスナーが構成されている現在のプロセスは、常にトレースが発生するプロセスと同じではないため(特に、リスナー・リスナー・コレクションに動的に追加する場合)、スタッフが転送されることはありません。特に、多くのユーザーがWindows AzureのWebアプリケーションでこの問題を発見しています。

転送が見込まれるものは何ですか?パーフカウンター?トレース?イベントログ?

+0

実際には、トレース、パフォーマンスカウンター、イベントログを設定しています。彼らのどれも働いていないようです。基本的には、コードをリファクタして "DefaultInitialConfiguration"をコンストラクタへの依存として取得し、(ライブラリではなく)OnStartからのDiagnosticMonitor.Start呼び出しを行い、他のすべてが動作し始めました。 –

関連する問題