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