我希望Sitecore只在访问者匹配某个模式卡后才执行Maxmind查找。我可以在Sitecore.Analytics.Config的评论中看到大量对“DNS查找任务”的引用,但我似乎无法跟踪它以查看是否可能搞乱它。
有人能指出我正确的方向吗?
答案 0 :(得分:3)
我认为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" />
正如我所看到的那样,应该处理它,但我一直无法对它进行测试。