3

このコードはエラーなしで実行されますが、明らかに ApplicationInsights には何も記録されません。foobarキーが無効です。

 var client = new TelemetryClient
 {
    Context = { InstrumentationKey = "foobar" }
 };

 client.TrackEvent(telemetryEvent);

それが良いことかもしれないことは理解しています。AppInsights が利用できないため、アプリケーションがクラッシュしたくありません。しかし、それが到達可能でないことを何らかの形で知っているといいので、代わりに別のことをすることができます.

追加できると思われるエラー:

  • API にアクセスできません
  • イベントの形式が正しくありません
  • API キーが無効です

これらの一部は一時的なもの (API の一時的な利用不可) ですが、そうでないもの (無効な API キー) もあります。

これらのケースに対応するためにクライアントを「テスト」する方法はありますか?

何かのようなもの :

if (!client.IsAppInsightReachable)
{
  //Send an email to someone so he can check if everything is OK
}
4

3 に答える 3

1

テレメトリ クライアントの動作についてある程度理解することができました。Application Insights への接続の問題をどのように検出したかを説明している、自分の質問を参照してください。

Application Insights がテレメトリ データを Azure に送信できるかどうか (およびその理由) を検出する

于 2015-12-24T07:54:37.197 に答える
0

1 つのオプションは、Fiddler をプロキシとして使用して、イベントが SDK から送信されているかどうかを確認することです。このブログでは、これを行う方法について説明します。

于 2015-06-01T15:43:23.403 に答える