如何删除Sitecore 8.1中的重复页面事件?

时间:2016-08-04 08:56:48

标签: sitecore sitecore8 sitecore-xdb

我在<registerPageEvent>管道中有一个处理器,用于检查事件是否重复并将其删除。它在7.2上运行良好,但我必须升级到8.1 Update 3,我无法找到删除已添加的页面事件的方法。 这有可能,我该怎么做?

7.2的代码:

Tracker.Visitor.DataSet.PageEvents.Rows.RemoveAt(Tracker.Visitor.DataSet.PageEvents.Count - 1);

1 个答案:

答案 0 :(得分:2)

您无法从Sitecore 7.5开始通过API删除事件。 (唯一的方法是使用.NET反射)

即使在7.2中,这样做也是个坏主意。原因是,当通过API添加事件时,应用了一些内部逻辑 - 例如,访问的总价值将重新计算。如果手动删除事件,则不会触发这些内部操作,因此,您的访问数据可能会以不一致的状态结束。

最好的方法是在注册事件的代码中添加检查 - 如果事件不是现有事件的副本,则只应注册事件。