gpt4 book ai didi

azure-application-insights - Azure Application Insights中的用户代理信息

转载 作者:行者123 更新时间:2023-12-04 21:04:01 33 4
gpt4 key购买 nike

有谁知道为什么在.NET应用程序中实现Application Insights时不会收集用户代理信息,却能够在浏览器中收集统计信息?

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

最佳答案

使用SDK不再是自动的。您必须通过创建自定义TelemetryInitializer自己将其包括在内。

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中读取User-Agent,并将其设置为Request Telemetry的UserId字段。

接下来,您需要在应用启动期间通过DI注册您的自定义遥测初始化程序(如果您使用的是ASP .NET Core)。
services.AddSingleton<ITelemetryInitializer, MyCustomTelemetryInitializer>();

关于azure-application-insights - Azure Application Insights中的用户代理信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51155252/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com