我正在将sitecore 7.5版本与mongo analytics db结合使用,并且需要基于访问者的Geo IP覆盖上下文语言。

但是每当我在httpRequestBegin Pipeline上调用文件时,当前Sitecore.analytics.Tracker.Current为null。

谁能帮忙,我真的需要为此找到解决方案吗?

最佳答案

httpRequestBeginExecuteRequest)的最后一个处理器之前,不会构建跟踪器。

看看我的博客文章,其中显示了事件序列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类。

07-26 03:47