私はASP.NET MVC Webサイトを持っており、Application Insightsを実装しています。次のように今、私はトレースイベントをログに記録:あなたが見ることができるように、これはすべてのトレースにTelemetryClientの単一の静的インスタンスを維持するApplication InsightsでTelemetryClientの静的インスタンスを使用する
private static TelemetryClient _APM;
private static TelemetryClient APM
{
get
{
if (_APM == null) { _APM = new TelemetryClient(); }
return _APM;
}
}
public static void Trace(string Message)
{
APM.TrackTrace(Message);
}
。これは私たちがクライアントを使用する方法ですか?あるいは、各ログに対してTelemetryClientの新しいインスタンスを作成する予定ですか?あなたがすべきthe docsによる
完璧!それはまさに私が探していたものです! – William
これを行うことはできますが、サーバアプリケーションやASP.Netの場合は静的な 'TelemetryClient'を使用したくないかもしれません**。静的なシングルトンを使用する場合、遠隔測定(ユーザ、セッション、操作)で記録されたコンテキストフィールドの一部はすべて一度設定されます。新しいテレメトリクライアントを使用すると、asp.netパイプラインからuser/session/etcを継承します(これにより、トレースを見ているときの状況を診断できます)。ポータルでは、トレースが発生したときと同じセッションですべてのテレメトリを見ることができます。またはasp.net要求によってトレースが発生しました。 –