RequestTelemetry 上下文中的 Application Insights 设置用户未显示在事件详细信息中

Application Insights setting user in RequestTelemetry context not showing up in event details

我正在使用 Application Insights 来跟踪我的应用程序的使用情况。在我的服务层中,我使用 App Insights API 手动跟踪请求和异常,并禁用了默认的遥测初始化程序集和跟踪请求和异常的模块,以支持基于我正在使用的框架的一些自定义检测.但是,当我像这样手动跟踪请求时,在 Application Insights 仪表板的请求详细信息中看不到任何用户信息。

演示我遇到的问题的简化版本:

Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active
    .InstrumentationKey = "<InstrumentationKey>";
var tc = new TelemetryClient();
var request = new RequestTelemetry();
request.Context.User.Id = "1234";
request.Name = "Test Request";
tc.TrackRequest(request);

编辑 2015 年 11 月 30 日

这是应用程序洞察门户中的错误。现在已经解决了。

这应该行得通,我已经做过类似的事情。 澄清一下,您看到您的自定义请求遥测显示在仪表板中,但您没有在用户图表中看到任何数据? 您也可以尝试设置 AuthenticatedUserId 字段,看看是否可行。

尝试设置 SessionId,以及 Userid。当 sessionId 为 null

时,我们自动使 Userid 无效

应该可以。我们正在调查这个问题。

我在这里创建了一个问题: https://github.com/Microsoft/ApplicationInsights-dotnet/issues/111

我最近发现,如果遥测上下文中没有设置UserAgent,用户和会话数据将被忽略。 尝试将 Context.User.UserAgent 设置为某些内容(理想情况下 HttpContext.Request.UserAgent 但任何非空字符串都应该有效)。