10

私は Application Insights を初めて使用し、カスタム イベントを使用せずにセットアップし、すべての既定値を使用しています。アプリケーションは MVC 5 でビルドされています。ApplicationInsights.config には、次のようなコメントがあります。

"アプリケーションにカスタム ユーザー トラッキングを実装する場合は、このテレメトリ初期化子を削除して、ユーザー数が Application Insights に正確に報告されるようにしてください。"

ログインが必要なページがあるため、デフォルトのユーザー ログにはそれほど多くの情報はありません。ユーザー名を一意の識別子として使用することをお勧めします。コメントに基づいて、これはある種の一般的な変更であり、したがって変更が容易であるように思われます。「カスタム ユーザー トラッキング」で Google を検索しようとすると、少し奇妙に思える興味深いものが見つかりません...

では、既定の動作と思われる Cookie を使用する代わりに、Application Insights のユーザーを自分のユーザー名にリンクするにはどうすればよいでしょうか?

4

1 に答える 1

15

ユーザーをカスタム ユーザー名にリンクするには、次のテレメトリ初期化子を作成できます。

public class RealUserIDTelemetryInitializer:ITelemetryInitializer
{
    public void Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry telemetry)
    {
        // Replace this with your custom logic
        if (DateTime.Now.Ticks % 2 > 0)
        {
            telemetry.Context.User.Id = "Ron Weasley";
        }
        else
        {
            telemetry.Context.User.Id = "Hermione Granger";
        }
    }
}

次に、このテレメトリ初期化子を AI.config に登録します。

      <TelemetryInitializers>
 ....
        <Add Type="MyApp.RealUserIDTelemetryInitializer, MyApp" />
      </TelemetryInitializers>
于 2015-05-27T01:09:52.213 に答える