2013-10-11 13 views
0

В EpiServer 6 мне нужно переиндексировать страницу всякий раз, когда она публикуется. Внутри обработчика событий PublishedPage, я проверяю ли опубликован на странице или неиспользования:EpiServer PendingPublish является истинным в событии PublisherPage

e.Page.CheckPublishedStatus(PagePublishedStatus.PublishedIgnoreDates)

Этот метод всегда возвращает false. Свойство Status для страницы: Published, но свойство PendingPublish - true, и я предполагаю, что это причина, по которой CheckPublishedStatus возвращает false.

Когда свойство PendingPublish установлено в false после публикации страницы? Есть ли другой обработчик событий, который я могу использовать для своих целей индексирования?

ответ

1

Возможно, я не понимаю, что вы пытаетесь сделать, но если событие PublishedPage вызывает аргумент события всегда будет опубликованной страницей.

Итак, мне кажется, что проверка статуса излишняя?

+0

Я поддерживаю существующий код и функция индексирования используется в нескольких местах. Внутри этой функции находится проверка состояния. Как вы думаете, я могу изменить эту проверку? – Umit

+1

Поскольку это событие срабатывает только при публикации страницы, вы можете быть уверены, что оно опубликовано. Я бы индексировал все страницы, когда они были опубликованы (просто удалите проверку), а затем FilterForVisitor по любому результату поиска, возвращенному из индекса поиска. –

+0

Примечание. Название «Опубликовано» может быть немного ошибочным - страница может быть опубликована без публичного доступа (в зависимости от дат начала и окончания, ACL и т. Д.). –