我正在将sitecore 7.5版本与mongo analytics db结合使用,并且需要基于访问者的Geo IP覆盖上下文语言。
但是每当我在httpRequestBegin Pipeline上调用文件时,当前Sitecore.analytics.Tracker.Current
为null。
谁能帮忙,我真的需要为此找到解决方案吗?
最佳答案
在httpRequestBegin
(ExecuteRequest
)的最后一个处理器之前,不会构建跟踪器。
看看我的博客文章,其中显示了事件序列http://sitecoreskills.blogspot.co.uk/2015/02/a-sitecore-8-request-from-beginning-to.html
如您所见,操作是在CreateTracker
管道中进行的。因此,您的工作需要在ExecuteRequest
中的httpRequestBegin
之后进行,或者如果可能,在Createtracker
中进行
但是,您应该知道,不一定会立即进行Geo IP查找。该信息可能直到请求完成后才会显示。
另一种方法是不使用在DMS中发生的Maxmind查找。相反,您可以下载Maxmind
数据库,并在httpRequestBegin
管道中自行工作。由于您只需要标识国家/地区,因此可以使用free version。这样,您就不需要涉及Tracker类。