2016-08-04 2 views
3

У меня есть процессор в конвейере <registerPageEvent>, который проверяет, дублируется ли событие и удаляет его. Он хорошо работает на 7.2, но мне нужно обновить до 8.1 Update 3, и я не могу найти способ удалить уже добавленное событие страницы. Возможно ли это, и как я могу это сделать?Как удалить дублированные события страницы в Sitecore 8.1?

Кусок кода от 7,2:

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

ответ

2

Вы не можете удалять события с помощью API, начиная с Sitecore 7.5. (Единственный способ - использовать отражение .NET)

Даже в 7.2, это было плохой идеей. Причина в том, что, когда событие добавляется через API, применяется некоторая внутренняя логика - например, общая стоимость визита пересчитывается. Если вы удалите событие вручную, эти внутренние действия не будут запущены, и, следовательно, ваши данные посещения могут оказаться в несогласованном состоянии.

Лучшим подходом для вас было бы добавление чеков в код, который регистрирует ваши события - событие должно регистрироваться только в том случае, если оно не является дубликатом существующего события.

 Смежные вопросы

  • Нет связанных вопросов^_^