首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure应用程序洞察中的用户代理信息

Azure应用程序洞察中的用户代理信息
EN

Stack Overflow用户
提问于 2018-07-03 20:58:01
回答 2查看 4.3K关注 0票数 10

有人知道为什么application Insights在.NET应用程序中实现时不能收集用户代理信息,但能够收集浏览器上的统计数据吗?

我有点希望能够根据特定的用户代理字符串过滤请求,但看起来我无法看到具有任何可用数据/表的用户代理。

EN

回答 2

Stack Overflow用户

发布于 2019-11-07 08:37:17

这在SDK中不再是自动的。您必须通过创建自定义TelemetryInitializer来包含它。

代码语言:javascript
复制
public class MyCustomTelemetryInitializer: ITelemetryInitializer
{
    readonly IHttpContextAccessor _httpContextAccessor;

    public MyCustomTelemetryInitializer(IHttpContextAccessor httpContextAccessor)
    {
        _httpContextAccessor = httpContextAccessor;
    }

    public void Initialize(ITelemetry telemetry)
    {
        if (telemetry is RequestTelemetry requestTelemetry)
        {
            requestTelemetry.Context.User.Id = _httpContextAccessor.HttpContext.Request.Headers["User-Agent"];
        }
    }
}

这将从每个HttpRequest读取用户代理,并将其设置为请求遥测的UserId字段。

接下来,你需要在应用程序启动时通过DI注册你的自定义遥测初始化器(如果你使用的是.NET核心)。

代码语言:javascript
复制
services.AddSingleton<ITelemetryInitializer, MyCustomTelemetryInitializer>();
票数 5
EN

Stack Overflow用户

发布于 2018-09-09 10:05:41

看起来,如果您对某个特定的UA特别感兴趣,您可能必须自己收集它&风险自负。

参见https://github.com/Microsoft/ApplicationInsights-Announcements/issues/3

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51155252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档