2016-08-04 43 views
3

我在<registerPageEvent>管道中有一個處理器,它檢查一個事件是否被重複並刪除它。它在7.2上運行良好,但我必須升級到8.1 Update 3,並且找不到一種方法來刪除已添加的頁面事件。 這是可能的,我該怎麼做?從7.2的代碼如何刪除Sitecore 8.1中的重複頁面事件?

海賊王:

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

回答

2

無法通過從Sitecore的7.5開始API刪除事件。 (唯一的解決方法是使用.NET反射)

即使在7.2中,這樣做也不是一個好主意。原因是,當通過API添加事件時,應用了一些內部邏輯 - 例如,該訪問的總價值將被重新計算。如果您手動刪除事件,則不會觸發這些內部操作,因此您的訪問數據可能會以不一致的狀態結束。

最適合您的方法是在註冊您的事件的代碼中添加檢查 - 只有在事件不是現有事件的重複時才應該註冊事件。