Sitecore的分析 - 当通过管道
问题描述:
我有以下方法Sitecore的分析 - 当通过管道
GetValue()
{
var value = Tracker.Current.Contact;
}
始终执行调用Tracker.Current为空。
但是,当我从ItemResolver
管道调用上述方法时,Tracker.Current
始终为空。
public class CustomItemResolver : HttpRequestProcessor
{
public override void Process(HttpRequestArgs args)
{
GetValue();
}
}
我在这里错过了什么?
答
跟踪器在startAnalytics
流水线期间被初始化,其由renderLayout
流水线Sitecore.Analytics.Pipelines.HttpRequest.StartAnalytics
处理器启动。
如果你真的需要跟踪到更早初始化,您可以用下面的方法:
Sitecore.Analytics.Tracker.StartTracking();
记住Sitecore的更晚开始跟踪和我肯定是有原因的,他们不这样做这在ItemResolver
之前,所以你要靠自己的责任去做。
谢谢。我将我的代码移动到Sitecore.Analytics.Pipelines.StartTracking.StartTrackingProcessor,并为我工作。 –