SharePoint: обновлено несколько событий для одного элемента - PullRequest
4 голосов
/ 22 ноября 2010

У меня есть получатель события элемента для определенного типа контента, который используется в библиотеке страниц. Я использую регистратор событий для его отладки и могу сказать, что всякий раз, когда я редактирую страницу и публикую ее, она запускает события 3 ItemUpdating и 3 ItemUpdated. Я уверен, что в это конкретное время другие страницы не сохраняются.

В чем причина этого, и есть ли способ «исправить» его, чтобы вызвать только одно событие на публикацию страницы?

В качестве альтернативы, есть ли способ отличить последнее из событий (то есть: страница теперь опубликована или публикуется) от других, так что я не заканчиваю выполнение своего кода три раза?

Ответы [ 2 ]

2 голосов
/ 24 ноября 2010

Как оказалось, это произошло потому, что страница фактически сохранялась 3 раза, когда пользователь нажимал "Опубликовать":

  1. Документ сохранен.
  2. Документзарегистрировано.
  3. Документ опубликован.

Каждый из этих триггеров вызывает события ItemUpdated и ItemUpdating.

1 голос
/ 22 ноября 2010

Используйте метод DisableEventFiring (), чтобы предотвратить запуск других событий. Просто не забудьте включить его снова через EnableEventFiring (). Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...