ASP.NET 核心/MVC6 中的 WebTelemetryInitializerBase

WebTelemetryInitializerBase in ASP.NET Core / MVC6

是否有 WebTelemetryInitializerBase 的 MVC6 兼容版本可以与 ASP.NET Core(在完整的 .NET Framework 上)一起使用?

请参阅 ,我在其中询问如何在我的遥测初始化程序中获取 HttpContext。不幸的是,我没有指定我使用的是 MVC 6,因此没有 System.Web.HttpContext.

是的,有一个针对 aspnetcore 的版本。查看 Microsoft Application Insights for ASP.NET Core applications 存储库。

/src/Microsoft.ApplicationInsights.AspNetCore/TelemetryInitializers/WebUserTelemetryInitializer.cs 中找到了获取 WebUser 的实现,您可以将其用作指南。

用于获取HttpContext的TelemetryInitializerBase class is the one that consumes the IHttpContextAccessor

从那里你可以得到 Microsoft.AspNetCore.Http.HttpContext.User,它们是 System.Security.Claims.ClaimsPrincipal

的类型