我正在使用带有mongo analytics db的sitecore 7.5版本,我需要根据访客的地理IP覆盖上下文语言。
但每当我在httpRequestBegin管道上调用我的文件时,当前Sitecore.analytics.Tracker.Current
为空。
任何人都可以请求帮助,我真的需要为此找到解决方案吗?
答案 0 :(得分:5)
在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类。