我正在努力完成以下场景:我需要为 Application Insights 创建一个自定义属性,其中包含用户的标识符(在登录时从数据存储中读取)。
浏览了几篇关于这个问题的文章,但它似乎不起作用。
到目前为止,我尝试了以下方法:
- 实现了一个自定义遥测初始化程序并将其加载到 Sitecore 管道中。这里的问题是我无法访问会话对象,因为它始终为NULL。经过一番研究,我意识到它甚至在会话创建之前就被触发了,所以我去了第二个选项。
- 尝试在 中加载遥测初始化程序
HttpRequestProcessor
,我能够访问会话,但之后永远不会触发 Initialize 方法。不能说我明白发生了什么。我TelemetryConfiguration.Active.TelemetryInitializers.Add(new UserIdTelemetryInitializer([injected_service]))
在处理器的构造函数中添加了如下初始化程序,因此它只触发一次。
有人对我到底做错了什么有任何想法吗?如果您有一个适用于类似情况的代码示例,我将不胜感激。
如果您需要更多信息,请告诉我(可能太简短了)。