
Standardmäßig wird der User-Agent des HTTP-Requests nicht von der Application Insights Middleware des ASP.NET SDKs gespeichert; vermutlich aufgrund der sehr strengen Implementierungsart der DSGVO-Vorgaben von Microsoft.
Dennoch ist es möglich entsprechend den User Agent mit einem eigenen ITelemetryInitializer zu loggen.
1 public class HttpUserAgentTelemetryInitializer : ITelemetryInitializer
2 {
3 private readonly IHttpContextAccessor _httpContextAccessor;
4
5 public HttpUserAgentTelemetryInitializer(IHttpContextAccessor httpContextAccessor)
6 {
7 _httpContextAccessor = httpContextAccessor;
8 }
9
10 public void Initialize(ITelemetry telemetry)
11 {
12 if (telemetry is RequestTelemetry requestTelemetry)
13 {
14 requestTelemetry.Context.GlobalProperties.Add("User-Agent",
15 _httpContextAccessor.HttpContext.Request.Headers["User-Agent"]);
16 }
17 }
18 }
Dieser muss anschließend noch registriert werden
1services.AddSingleton<ITelemetryInitializer, HttpUserAgentTelemetryInitializer>();

Comments