1

There are two ways to get changes from Exchange using EWS: 1. Use SyncFolderItems to get a list of changed items 2. Use FindItem to get a list of changed items (filtered by modify time)

I just need to know new and modified items, not the deleted ones, so both of above can satisfy the functional need. The performance impact is more important for us. Based on my testing on a folder with 20000 items (200 are new items), both APIs take similar amount of time to complete.

This seems to be counter intuitive, I thought SyncFolderItems would be more efficient as it doesn't need to search against everything. My question is, from performance perspective, are they the same or there are other considerations? (I prefer to use FindItem if so since I don't need to store the sync state of each folder)

Thanks!

GWNJ
  • 11
  • 2
  • It depends on the changes your trying to track, eg changing the Read status on a message doesn't typically change the LastModifiedTime of a message. SyncFolderItems should give you a smaller results set in theory although for most mobile apps (and even the OST slider in Outlook) they are syncing a time window not the whole folder etc. As a general rule the Total FolderItemCount will affect performance of any operation more then anything else. – Glen Scales Nov 16 '16 at 04:02
  • Thanks for the input. My use case is not for mobile syncing. So I don't need to capture the operations like read status, deletion, etc. Mainly the new items. Just want to know if there are some advantages on using SyncFolderItems, as it seems not much difference from my testing. – GWNJ Nov 16 '16 at 15:54

0 Answers0