2014-12-05 2 views
0

첨부 파일이 여러 개인 목록 항목이 있습니다. 추가되는 즉시 내 ItemAdded 이벤트가 발생합니다.모든 첨부 파일이 추가 될 때까지 ItemAdded 이벤트를 일시 중지합니다.

그러나 properties.ListItem.Attachments 속성에 액세스하려고 시도하면 가끔 첨부 파일보다 0 또는 숫자가 작습니다.

몇 초 동안 내 스레드를 잠그면 나머지 첨부 파일을 properties.ListItem.Attachments 속성으로 가져옵니다. 따라서 모든 첨부 파일이 목록 항목에 추가되기 전에 ItemAdded 이벤트가 호출되는 것 같습니다.

모든 첨부 파일이 목록 항목에 추가 될 때까지 ItemAdded 이벤트를 일시 중지 할 수있는 방법이 있습니까?

답변

0

ItemAdded과 함께 ItemAttachmentAdded을 사용했습니다. ItemAdded 이후

ItemAttachmentAdded 전에 호출되고, 나는 ItemAdded에 정적 객체에 대한 잠금을 넣어 ItemAdded 이벤트의 실행이 완료된 후 놓습니다.

ItemAttachmentAdded에서 해당 객체에 대한 잠금을 확인한 다음 내 ItemAdded 이벤트가 완료된 후 내 ItemAttachmentAdded 항목이 실행되도록 보장하는 잠금을받은 후에 만 ​​계속합니다.

Lock(object){} 
0

ItemAttachedAdded 이벤트를 사용하십시오.

+0

데이터베이스에 모든 첨부 파일을 ** 복사하려고합니다 ** 데이터베이스에 원래 항목을 저장했습니다. 그래서'ItemAdded'에서 그것을 할 필요가 있습니다. 어쨌든'ItemAdded'와 함께'ItemAttachmentAdded'를 사용하여 끝났습니다. – Rohit

관련 문제