как временно отключить уведомление по электронной почте при обновлении элементов в коде?

У меня возникли проблемы с временным отключением уведомлений по электронной почте при обновлении элементов, чтобы система не отправляла ненужные электронные письма. То, что я пытаюсь сделать, это отключить оповещение, обновить элемент, а затем снова включить оповещение.

Список задач SPList = Web.Lists["Задачи"];

список задач.EnableAssignToEmail = ложь; //Это свойство отключает отправку почты

список задач.Обновление();

// Делаем все обновления здесь

Item["Title"] = "Новое название"; Элемент.обновление();

список задач.EnableAssignToEmail = true; //включить уведомление по электронной почте

список задач.Обновление();

Как только я снова включил оповещение, изменения, внесенные в середине кода, по-прежнему запускают оповещение и отправляют электронное письмо.
У кого-нибудь есть идеи получше, как решить эту проблему? Спасибо.


person BeerMe101    schedule 01.12.2009    source источник
comment
изменил тег с 2007 на sharepoint2007, 2007 немного общий :-D   -  person Colin    schedule 02.12.2009


Ответы (2)


Использует ли SPListItem.SystemUpdate() вместо этого все еще запускать предупреждения?

person Nat    schedule 01.12.2009
comment
SystemUpdate не должен вызывать никаких событий, так что это тоже мое предположение. - person Colin; 02.12.2009
comment
item.SystemUpdate() действительно вызывает предупреждение. Причина в том, что система оповещения не использует механизм обработки событий. - person unclepaul84; 03.12.2009
comment
Спасибо. Я проверил это, и SPListItem.SystemUpdate() не вызвал предупреждение. - person BeerMe101; 03.12.2009

Вы пробовали пару вызовов методов DisableEventFiring()/EnableEventFiring()?

person Leonidius    schedule 02.12.2009
comment
Это не сработает/не сработает. Email-уведомление — это нечто другое. - person Markus Schwalbe; 19.08.2011