Sitecore GeoIP服务无法使用个性化

时间:2015-10-07 04:44:21

标签: sitecore sitecore7 sitecore-dms

我正在使用Sitecore 7,我在我们的网站上配置了Sitecore GeoIP模块(Sitecore IP Geolocation Service Client 1.2 rev.150602.zip)。 Sitecore IP地理定位服务正在我们网站的App Center上运行。

当我尝试将其功能与个性化一起使用时,似乎无效。 我使用演示文稿详细信息为页面组件创建了以下条件 - >个性化

enter image description here

但是当我从给定国家访问该网站时,该项目仍然存在于页面上(需要隐藏)。

我使用TestIp.aspx页面测试了GeoIp模块,它正确地跟踪了ip数据。

有人可以就此提出建议。 感谢。

更新

这实际上有效。 MaxMind服务有一个ip缓存机制。 当缓存ip时,我们从sitecore客户端所做的更改不会在特定时间内激活。

我们可以做些更改或跳过此缓存机制的配置更改吗?

感谢。

1 个答案:

答案 0 :(得分:2)

Sitecore的GeoIP / MaxMind模块无法实时解析GeoIP信息。它在批处理后台进程中执行此操作 - 出于性能原因,毫无疑问。

我可以向您展示一种更改此方法的方法,但我不建议您在任何真实网站上进行此操作,因为对MaxMind服务的调用可能需要一段时间,并会阻止您的页面加载,直到完成为止。

您需要尽早向httpRequest管道添加处理器,以强制查找客户端IP。然后将缓存它以用于后续页面加载。

Sitecore.Analytics.Lookups.LookupManager.GetInformationByIp(string ip)

ip参数将是您的请求主持人。

但正如我所说,我真的不建议这样做,除非你的网站重量很轻。

我建议您使用MaxMind免费提供的GeoLite数据库,而不是这个。然后,您将在本地数据库(而不是Web服务)中执行查找 - 有关如何完成此操作的示例,请查看此处:

http://sitecoresnippets.blogspot.dk/2011/12/sitecore-geoip-country-resolving-jump.html#.Vhdui_l_NBc