在应用程序洞察中设置用户名

时间:2015-05-25 09:17:24

标签: asp.net-mvc azure-application-insights

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

"在应用程序中实施自定义用户跟踪时,请删除此遥测初始值设定项,以确保准确地向Application Insights报告用户数。"

我们有一个页面,您需要登录,因此默认用户日志记录不是很多,我们宁愿将用户名作为唯一标识符。基于评论,似乎这应该是某种常见的修改,因此易于修改。当试图谷歌开始"自定义用户跟踪"我没有发现任何有趣的东西似乎有点奇怪......

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

1 个答案:

答案 0 :(得分:13)

要将用户链接到您的自定义用户名,您可以创建以下遥测初始值设定项:

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>