WebTelemetryInitializerBase的MVC6兼容版本是否可以与ASP.NET Core一起使用(在完整的.NET Framework上)?
请参阅my question here,其中我询问如何在我的temeletry初始化器中获取HttpContext.不幸的是,我没有指定我使用的是MVC 6,因此没有使用System.Web.HttpContext.
解决方法
是的,aspnetcore有一个版本.查看
Microsoft Application Insights for ASP.NET Core applications回购.
获取在/src/Microsoft.ApplicationInsights.AspNetCore/TelemetryInitializers/WebUserTelemetryInitializer.cs中找到的WebUser的实现,您可以将其用作指南.
TelemetryInitializerBase
类是消耗用于获取HttpContext的IHttpContextAccessor
的类.
从那里你可以得到Microsoft.AspNetCore.Http.HttpContext.User
,它们是System.Security.Claims.ClaimsPrincipal的类型.