В EpiServer 6 мне нужно переиндексировать страницу всякий раз, когда она публикуется. Внутри обработчика событий PublishedPage, я проверяю ли опубликован на странице или неиспользования:EpiServer PendingPublish является истинным в событии PublisherPage
e.Page.CheckPublishedStatus(PagePublishedStatus.PublishedIgnoreDates)
Этот метод всегда возвращает false
. Свойство Status для страницы: Published
, но свойство PendingPublish - true
, и я предполагаю, что это причина, по которой CheckPublishedStatus возвращает false.
Когда свойство PendingPublish установлено в false после публикации страницы? Есть ли другой обработчик событий, который я могу использовать для своих целей индексирования?
Я поддерживаю существующий код и функция индексирования используется в нескольких местах. Внутри этой функции находится проверка состояния. Как вы думаете, я могу изменить эту проверку? – Umit
Поскольку это событие срабатывает только при публикации страницы, вы можете быть уверены, что оно опубликовано. Я бы индексировал все страницы, когда они были опубликованы (просто удалите проверку), а затем FilterForVisitor по любому результату поиска, возвращенному из индекса поиска. –
Примечание. Название «Опубликовано» может быть немного ошибочным - страница может быть опубликована без публичного доступа (в зависимости от дат начала и окончания, ACL и т. Д.). –