
Dieser Artikel stammt aus dem Jahr 2021. Versionen, Werkzeuge und Empfehlungen können sich seitdem geändert haben. Neuere Beiträge findest du unter .NET.
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
services.AddSingleton<ITelemetryInitializer, HttpUserAgentTelemetryInitializer>();Related articles

- 17 min read
Automatic TTL in Azure Cosmos DB with .NET
Temporary data is easy to create and surprisingly difficult to remove reliably. Sessions, idempotency keys, import buffers, transient …

- 11 min read
Top 10 recommendations for .NET developers working with Azure Cosmos DB
Azure Cosmos DB has a habit of exposing architectural weaknesses very early. Classic data-access patterns that work perfectly fine with …

- 14 min read
Local Aspire Development with Azure Cosmos DB and the Preview Emulator
Distributed applications tend to feel straightforward until a real cloud dependency enters the picture. Azure Cosmos DB is a good example. …
Let's Work Together
Looking for an experienced Platform Architect or Engineer for your next project? Whether it's cloud migration, platform modernization or building new solutions from scratch - I'm here to help you succeed.
