Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sitecore GeoIP服务无法使用个性化设置_Sitecore_Sitecore7_Sitecore Dms - Fatal编程技术网

Sitecore GeoIP服务无法使用个性化设置

Sitecore GeoIP服务无法使用个性化设置,sitecore,sitecore7,sitecore-dms,Sitecore,Sitecore7,Sitecore Dms,我正在使用Sitecore 7,我已经在我们的站点上配置了Sitecore GeoIP模块(Sitecore IP Geolocation Service Client 1.2 rev.150602.zip)。 Sitecore IP地理定位服务正在我们网站的应用程序中心运行 当我尝试将其功能用于个性化设置时,它似乎不起作用。 我使用presentation details-->personalize为页面组件创建了以下条件 但是当我从给定国家访问该站点时,该项目仍然存在于页面上(需要隐藏)

我正在使用Sitecore 7,我已经在我们的站点上配置了Sitecore GeoIP模块(Sitecore IP Geolocation Service Client 1.2 rev.150602.zip)。 Sitecore IP地理定位服务正在我们网站的应用程序中心运行

当我尝试将其功能用于个性化设置时,它似乎不起作用。 我使用presentation details-->personalize为页面组件创建了以下条件

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

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

有人能给我一些建议吗。 谢谢

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

我们是否可以对配置进行任何更改以更改或跳过此缓存机制


谢谢。

Sitecore的GeoIP/MaxMind模块无法实时解析GeoIP信息。毫无疑问,出于性能原因,它在批处理后台进程中实现了这一点

我可以向您展示一种改变这一点的方法,但我不建议您在任何真实的网站上实际这样做,因为调用MaxMind服务可能需要一段时间,并且会阻止页面加载,直到它们完成为止

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

Sitecore.Analytics.Lookups.LookupManager.GetInformationByIp(string ip)
其中ip参数将是您的请求主机

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

我给你们的建议不是这个,而是围绕MaxMind提供的GeoLite数据库免费建立一些东西。然后,您将在本地数据库(而不是web服务)中执行查找-有关如何执行此操作的示例,请参见此处:


您发布过该页面吗?个性化设置在编辑或预览模式下不起作用。是的,我已经发布了它们,更改也可以在web数据库上获得。您是否检查了分析(SQL)数据库,GeoIps“表?可能有旧的/错误的记录,请查看。您能试着在私人模式下打开新的浏览器并从斯里兰卡访问您的网站吗?