【问题标题】:Sitecore GeoIP Service is not working with personalizationSitecore GeoIP 服务不适用于个性化
【发布时间】:2015-10-07 04:44:20
【问题描述】:

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

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

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

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

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

更新

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

我们可以做任何配置更改来更改或跳过此缓存机制吗?

谢谢。

【问题讨论】:

  • 您发布了页面吗?个性化在编辑或预览模式下不起作用。
  • 是的,我已经发布了它们,并且这些更改也可以在网络数据库中找到。
  • 您检查过 Analytics (SQL) 数据库、GeoIps" 表吗?可能有旧的/错误的记录,请参阅kb.sitecore.net/articles/798498
  • 您可以尝试以私密模式打开新浏览器并从斯里兰卡访问您的网站吗?

标签: sitecore sitecore7 sitecore-dms


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多