0
我正在使用Exchange_2010_SP3。SynfolderItems行爲不正常
當我使用此代碼:連接作爲exchange2010_SP1,返回最舊的項目。這是我的預期
exchangeService = new ExchangeService(ExchangeVersion.Exchange2010_SP1,
TimeZoneInfo.Utc);
var items = exchangeService.SyncFolderItems(_folderId, PropertySet.IdOnly, null,
Configuration.BatchSize,
SyncFolderItemsScope.NormalItems,
null);
但是,當我初始化exchangeService作爲SP2,最新的項目被返回。 (這讓我非常吃驚)。
exchangeService = new ExchangeService(ExchangeVersion.Exchange2010_SP2,
TimeZoneInfo.Utc);
var items = exchangeService.SyncFolderItems(_folderId, PropertySet.IdOnly, null,
Configuration.BatchSize,
SyncFolderItemsScope.NormalItems,
null);
試圖找出,使用不同版本的Exchange代碼的時候比你試圖連接到SyncFolderItems的行爲。試圖找到與此相關的文檔,但沒有成功。
任何指針,幫助?
@ Mimi,感謝您的迅速回復!!!我想知道當你收到從最新到最舊的電子郵件時,同步如何處理新電子郵件。任何想法?? – Sameer
SyncFolderItems在獲取新數據的日期和時間上不起作用,它使用syncState參數來確定客戶端已知的更改。因此,如果您的郵箱已經同步,然後您收到一條新郵件,然後調用SyncFolderItems,則SyncFolderItems調用中包含的syncState參數可讓服務器知道客戶端已經擁有郵箱中的所有其他內容/更改,而自上次同步以來唯一的變化是一條新消息。合理? –
是的。我發現我對SyncSate的理解是錯誤的。直到現在,我錯誤地認爲SyncState計算也考慮了日期。你能告訴我SyncState是如何精確生成的,能夠確定需要同步什麼,什麼不需要? – Sameer