목록 항목이 업데이트 된 경우 (ItemUpdated 및 ItemUpdating) 이벤트 수신기가 있습니다. 수신기 내에서 목록 항목을 다시 업데이트합니다. 이것은 자연스럽게 재귀 적 이벤트 호출을 기대할 수있게합니다. 이벤트 처리기의 시작 부분에 중단 점을 두어 이벤트에서 10 회 stoppping 한 다음 종료합니다. 이 종류의 것을 막기 위해 SharePoint 내부에 일종의 재귀 보호 기능이있을 수 있습니까?재귀 SharePoint 이벤트 핸들러
2
A
답변
-2
또는 item.SystemUpdate을 (사용), SystemUpdate이 항목에 연결된 이벤트를 트리거없이 업데이트를 수행합니다.
12
사용 DisableEventFiring 방법
base.DisableEventFiring();
item.update();
base.EnableEventFiring();
+1
이 = 참/거짓 EventFiringEnabled 셰어 2007 년에이 일의 유일한 * 올바른 * 방법, 그리고; SharePoint 2010에서이 작업을 수행하는 유일한 올바른 방법입니다. – mjsabby
1
이보다 더 안전한 방법 :
이try {
this.DisableEventFiring();
item.SystemUpdate(); // or item.Update(); or item.UpdateOverwriteVersion();
} finally {
this.EnableEventFiring();
}
그냥 경우에 대비하여 업데이트 호출이 어떤 이유로 실패합니다. (depricated되지 않음)
0
현대 방법 :
EventFiringEnabled = false;
item.Update();
EventFiringEnabled = true;
관련 문제
- 1. 이벤트의 이벤트 핸들러 관리
- 2. 이벤트 핸들러
- 3. OnTaskFailed 이벤트 핸들러
- 4. C# 이벤트 핸들러 제거
- 5. .NET 이벤트 핸들러 관리
- 6. PHP 클릭 이벤트 핸들러
- 7. Android : 키보드 이벤트 핸들러
- 8. 제거 이벤트 핸들러
- 9. 이벤트 핸들러 섀도 잉
- 10. C# 이벤트 핸들러 질문
- 11. JQuery 이벤트 핸들러 정리하기
- 12. 이벤트 핸들러 열거 형
- 13. 올바른 이벤트 핸들러 선택
- 14. Jquery multiselect 이벤트 핸들러
- 15. dojo의 이벤트 핸들러 문제
- 16. StopWatch에 이벤트 핸들러 연결
- 17. 속도 이벤트 핸들러
- 18. 마우스 이벤트 핸들러
- 19. 이벤트 핸들러 함수 반환
- 20. perl 입출력 이벤트 핸들러
- 21. 텍스트 입력 이벤트 핸들러
- 22. 이벤트 핸들러 Garbageclection
- 23. 글로벌 이벤트 핸들러
- 24. 다른 이벤트 핸들러 (들)
- 25. 자바 스크립트 이벤트 객체가 이벤트 핸들러 함수
- 26. datareceived 시리얼 C의 이벤트 핸들러
- 27. HTML5/JS 저장 이벤트 핸들러
- 28. CListView 이벤트 핸들러 유지 보수하기
- 29. 노드 제거 및 이벤트 핸들러
- 30. jQuery 바인딩 된 이벤트 핸들러
두 가지 모두 좋은 답변이지만 솔루션은 조금 깔끔합니다. 환호 –
나는 이것들을 함께 사용한다. SystemUpdate가 DisableEventFiring을 사용하지 않고 재귀를 중지하지 않은 경우가있었습니다. 그리고 DisableEventFiring을 사용하는 경우에도 Event Receiver 내에서 Modify By 또는 Item Version을 변경하고 싶지 않기 때문에 SystemUpdate (false)를 호출합니다. –
-1. 이것은 정확하지 않습니다. SystemUpdate()는 구현을 모르는 불투명 한 메서드이며 수정 시간 또는 수정 자 필드 또는 선택적으로 항목 버전의 변경 내용에 영향을주지 않고 업데이트 만 문서화되었습니다. 게시판 같은 게시물의 원래 작성자를 수정하고 싶지 않은 경우 토론 게시판과 같은 용도로 SharePoint에서 내부적으로 사용됩니다. 이벤트가 발생합니다. 실제로 이벤트 전파를 중지하기 위해 현재 사용하고있는 기능입니다. 거의 SharePoint 2010에서 변경 될 예정이었고 향후에 변경 될 수 있습니다. – mjsabby