我希望 Sitecore 仅在访问者匹配特定模式卡后执行 Maxmind 查找。我可以在 Sitecore.Analytics.Config 的评论中看到大量对“DNS 查找任务”的引用,但我似乎无法追踪它以查看是否有可能弄乱它。
有人可以指出我正确的方向吗?
我希望 Sitecore 仅在访问者匹配特定模式卡后执行 Maxmind 查找。我可以在 Sitecore.Analytics.Config 的评论中看到大量对“DNS 查找任务”的引用,但我似乎无法追踪它以查看是否有可能弄乱它。
有人可以指出我正确的方向吗?
如我所见,GeoIPLookup 是在 UpdateGeoIpData 处理器的 StartTracking 管道中触发的。它异步调用查找提供程序。
所以我想你可以用你自己的继承来替换这个处理器,然后添加你的条件。这样你就会有类似的东西:
public class UpdateGeoProcessor : UpdateGeoIpData
{
public override void Process(StartTrackingArgs args)
{
if (true) //Put your condition here
{
base.Process(args);
}
}
}
然后在你的配置文件中你应该有这样的东西:
<startTracking>
<processor type="Sitecore.Analytics.Pipelines.StartTracking.RaiseStartTracking,Sitecore.Analytics" />
<processor type="Sitecore.Analytics.Pipelines.StartTracking.InitializeTracker,Sitecore.Analytics" />
<processor type="yyy.UpdateGeoProcessor,yyy" />
<processor type="Sitecore.Analytics.Pipelines.StartTracking.TrackerInitialized,Sitecore.Analytics" />
据我所见,应该可以处理它,但我无法彻底测试它。