重写基于访问者的上下文语言';Sitecore中的GEOIP?

重写基于访问者的上下文语言';Sitecore中的GEOIP?,sitecore,analytics,maxmind,Sitecore,Analytics,Maxmind,我正在使用sitecore 7.5版本和mongo analytics db,我需要根据访问者的地理IP覆盖上下文语言 但每当我在httpRequestBegin管道上调用我的文件时,currentSitecore.analytics.Tracker.current都是空的 有人能帮忙吗,我真的需要找到解决方案吗?直到httpRequestBegin(ExecuteRequest)的最后一个处理器,跟踪器才开始构建 请看我的博客文章,其中显示了事件的顺序 如您所见,CreateTracker管道

我正在使用sitecore 7.5版本和mongo analytics db,我需要根据访问者的地理IP覆盖上下文语言

但每当我在httpRequestBegin管道上调用我的文件时,current
Sitecore.analytics.Tracker.current
都是空的


有人能帮忙吗,我真的需要找到解决方案吗?

直到
httpRequestBegin
ExecuteRequest
)的最后一个处理器,跟踪器才开始构建

请看我的博客文章,其中显示了事件的顺序

如您所见,
CreateTracker
管道是操作发生的地方。因此,您的工作需要在
httpRequestBegin
中的
ExecuteRequest
之后进行,或者如果可能,在
Createtracker

但是,您应该知道,地理IP查找不一定立即发生。在请求完成之前,信息可能不会显示


另一种方法是不使用作为DMS一部分的Maxmind查找。相反,您可以下载
Maxmind
数据库,并在
httpRequestBegin
管道中自己工作。因为您只需要识别国家,所以可以使用。这样,您就不需要涉及Tracker类。

我尝试了您的第一个选项,并尝试在HttpRequestBegin管道中的ExecuteRequest进程之后调用我的语言解析器文件,但当前Tracker仍然为null。但您能否解释一下在哪里可以找到CreateTracker管道,因为我无法在sitecore 7.5所有版本中找到该管道。感谢
CreateTracker
的配置位于
Sitecore.Analytics.Tracking.config
中。如果您仍然找不到它,那么这可能表明该类为null的原因。是的,我们有该文件..但仍然得到null Tracker对象。因为我真的需要解决这个问题,所以您还有其他解决方案吗?我在回答中的首选选项是执行本地数据库查找,而不是使用Tracker对象,因为如果您立即需要数据,这是不可靠的。