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之前,所以你要靠自己的责任去做。

+0

谢谢。我将我的代码移动到Sitecore.Analytics.Pipelines.StartTracking.StartTrackingProcessor,并为我工作。 –