T
Tadwick
I have a few more questions about the retrieval of recurring appointments as
it seems to be the major bottleneck in my code.
1. When you set Items.IncludeRecurrences to true, Does the processing to
determine individual appointments with Items.Find get done on the Exchange
Server or is the recurrence pattern returned to Outlook, which then
determines the individual appointments?
2. If the Exchange Server is doing all the processing, would it be more
efficient to get the recurrence pattern and interpret the individual dates
locally. I know this would be extra coding but if it means a performance
gain I'm willing to do it. (I also know that Dmitry has plans to implement
this kind of functionality in Redemption but not sure whether the processing
would take place remote or locally and when the version that does this will
be available - Dmitry, maybe you could advise.)
3. I noticed that the first time I execute Items.Find takes considerably
longer. Is this because there is some kind of cache being generated on the
Exchange Server? Or is Outlook creating a cache of some sort?
4. In an earlier thread I suggested it might be more efficient to only
return items that had been updated since a particular date (eg x days ago)
but Dmitry rightly pointed out that this would not help determine deleted
items. I'm thinking now that perhaps it would worth getting all the items
first with IncludeRecurrences set to false, comparing those to my local data
set and figuring out which ones have been deleted; then retrieving recently
modified items for the efficiency gain. I know this might seem to be a
double-pass but getting all items excluding recurrences is quite quick and I
could then safely filter out the unchanges items on the second pass. Would
this work?
Sorry for the lengthy post - I am trying to be clear in my questions.
Tad
it seems to be the major bottleneck in my code.
1. When you set Items.IncludeRecurrences to true, Does the processing to
determine individual appointments with Items.Find get done on the Exchange
Server or is the recurrence pattern returned to Outlook, which then
determines the individual appointments?
2. If the Exchange Server is doing all the processing, would it be more
efficient to get the recurrence pattern and interpret the individual dates
locally. I know this would be extra coding but if it means a performance
gain I'm willing to do it. (I also know that Dmitry has plans to implement
this kind of functionality in Redemption but not sure whether the processing
would take place remote or locally and when the version that does this will
be available - Dmitry, maybe you could advise.)
3. I noticed that the first time I execute Items.Find takes considerably
longer. Is this because there is some kind of cache being generated on the
Exchange Server? Or is Outlook creating a cache of some sort?
4. In an earlier thread I suggested it might be more efficient to only
return items that had been updated since a particular date (eg x days ago)
but Dmitry rightly pointed out that this would not help determine deleted
items. I'm thinking now that perhaps it would worth getting all the items
first with IncludeRecurrences set to false, comparing those to my local data
set and figuring out which ones have been deleted; then retrieving recently
modified items for the efficiency gain. I know this might seem to be a
double-pass but getting all items excluding recurrences is quite quick and I
could then safely filter out the unchanges items on the second pass. Would
this work?
Sorry for the lengthy post - I am trying to be clear in my questions.
Tad