10

我是应用程序洞察力的新手,并且没有使用自定义事件进行设置,并且我正在使用所有默认值。该应用程序基于 MVC 5 构建。在 ApplicationInsights.config 中有一条评论说:

“在您的应用程序中实施自定义用户跟踪时,请移除此遥测初始化程序,以确保向 Application Insights 准确报告用户数量。”

我们有一个您需要登录的页面,因此默认用户登录并没有说明太多,我们更希望用户名作为唯一标识符。根据评论,这似乎应该是某种常见的修改,因此很容易修改。当试图用谷歌搜索“自定义用户跟踪”时,我没有发现任何有趣的东西,这似乎有点奇怪......

那么如何将 Application Insights 中的用户链接到我的用户名,而不是使用一些似乎是默认行为的 cookie?

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 回答