Num event handler de um lista é frequente haver a necessidade de actualizar um item recorrendo ao método Update()
da classe SPListItem
. Quando este método é chamado são disparados dois novos eventos, ItemUpdating e ItemUpdated. É fácil perceber que, se o event handler em causa for para um destes eventos, o facto de provocar o disparo dos eventos vai levar a que se entre num ciclo potencialmente infinito (não o é porque o SharePoint acaba por interrompê-lo).
Solução: para evitar esta situação podemos chamar o método DisableEventFiring()
no início do event handler, e o método EnableEventFiring()
no final do mesmo, fazendo com que não sejam disparados novos eventos mesmo que se chame o método Update()
do item.