在 application insights 中设置用户名
Setting username in application insights
我是 application insights 的新手,没有使用自定义事件进行设置,我使用的是所有默认设置。该应用程序基于 MVC 5 构建。在 ApplicationInsights.config 中有一条评论说:
"When implementing custom user tracking in your application, remove this telemetry initializer to ensure that the number of users is accurately reported to Application Insights."
我们有一个页面,您需要在该页面上登录,因此默认的用户登录并没有说明那么多,我们宁愿将用户名作为唯一标识符。根据评论,这似乎应该是某种常见的修改,因此易于修改。在 "custom user tracking" 上尝试 google 时,我没有发现任何有趣的东西,这似乎有点奇怪......
那么我如何 link Application Insights 中的用户访问我的用户名,而不是使用某些似乎是默认行为的 cookie?
为了 link 用户到您的自定义用户名,您可以创建以下遥测初始化程序:
public class RealUserIDTelemetryInitializer:ITelemetryInitializer
{
public void Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry telemetry)
{
// Replace this with your custom logic
if (DateTime.Now.Ticks % 2 > 0)
{
telemetry.Context.User.Id = "Ron Weasley";
}
else
{
telemetry.Context.User.Id = "Hermione Granger";
}
}
}
然后在AI.config中注册这个遥测初始化器。
<TelemetryInitializers>
....
<Add Type="MyApp.RealUserIDTelemetryInitializer, MyApp" />
</TelemetryInitializers>
我是 application insights 的新手,没有使用自定义事件进行设置,我使用的是所有默认设置。该应用程序基于 MVC 5 构建。在 ApplicationInsights.config 中有一条评论说:
"When implementing custom user tracking in your application, remove this telemetry initializer to ensure that the number of users is accurately reported to Application Insights."
我们有一个页面,您需要在该页面上登录,因此默认的用户登录并没有说明那么多,我们宁愿将用户名作为唯一标识符。根据评论,这似乎应该是某种常见的修改,因此易于修改。在 "custom user tracking" 上尝试 google 时,我没有发现任何有趣的东西,这似乎有点奇怪......
那么我如何 link Application Insights 中的用户访问我的用户名,而不是使用某些似乎是默认行为的 cookie?
为了 link 用户到您的自定义用户名,您可以创建以下遥测初始化程序:
public class RealUserIDTelemetryInitializer:ITelemetryInitializer
{
public void Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry telemetry)
{
// Replace this with your custom logic
if (DateTime.Now.Ticks % 2 > 0)
{
telemetry.Context.User.Id = "Ron Weasley";
}
else
{
telemetry.Context.User.Id = "Hermione Granger";
}
}
}
然后在AI.config中注册这个遥测初始化器。
<TelemetryInitializers>
....
<Add Type="MyApp.RealUserIDTelemetryInitializer, MyApp" />
</TelemetryInitializers>