2017-11-03 10 views
1

を通じて呼び出されたとき、私は常に実行される次のような方法サイトコア解析 - Tracker.Currentがパイプライン

GetValue() 
{ 
    var value = Tracker.Current.Contact; 
} 

を持つnullです。

ただし、ItemResolverパイプラインから上記のメソッドを呼び出すと、Tracker.Currentは常にnullです。

public class CustomItemResolver : HttpRequestProcessor 
{ 
    public override void Process(HttpRequestArgs args) 
    { 
     GetValue(); 
    } 
} 

私はここで何が欠けていますか?

答えて

1

トラッカーはrenderLayoutパイプラインSitecore.Analytics.Pipelines.HttpRequest.StartAnalyticsプロセッサによって開始されたstartAnalyticsパイプライン中に初期化されます。サイトコアは、ずっと後の追跡を開始することを忘れないでください

Sitecore.Analytics.Tracker.StartTracking(); 

と私は彼らがそうしていない理由があるかなり確信している:あなたは本当にトラッカーが先に初期化する必要がある場合

は、次の方法を使用することができますこれはItemResolverより前ですので、あなたは自分の責任でそれをやっています。

+0

ありがとうございます。私は自分のコードをSitecore.Analytics.Pipelines.StartTracking.StartTrackingProcessorに移動してくれました。 –

関連する問題