使用Microsoft Exchange Services托管API,当要同步的项目超过512个时会发生什么?

内森·特雷施(Nathan C. Tresch)

给出以下代码:

ExchangeService service = ExchangeServiceUtilities.CreateExchangeService(s, u);


ChangeCollection<FolderChange> folderChanges = null;
do
{
  folderChanges = service.SyncFolderHierarchy(PropertySet.IdOnly, u.Watermark);
  // Update the synchronization 
  u.Watermark = folderChanges.SyncState;
  // Process all changes. If required, add a GetItem call here to request additional properties.

  foreach (var folderContentsChange in folderChanges)
  {
    // This example just prints the ChangeType and ItemId to the console.
    // A LOB application would apply business rules to each 
    ChangeCollection<ItemChange> changeList = null;
    do
    {
      string value = u.SyncStates.ContainsKey(folderContentsChange.FolderId) ? u.SyncStates[folderContentsChange.FolderId] : null;
      changeList = service.SyncFolderItems(folderContentsChange.FolderId, PropertySet.FirstClassProperties, null,512, SyncFolderItemsScope.NormalItems, value);
      u.SyncStates[folderContentsChange.FolderId] = changeList.SyncState;
      foreach (var itemChange in changeList)
      {

      }
    } while (changeList.MoreChangesAvailable);
  }                  
} while (folderChanges.MoreChangesAvailable);

超过512个项目会发生什么?这些项目会在do()的后续传递中被拾取,还是我需要再次调用sync?

安迪

如果有512个以上的项目,则会设置MoreChangesAvailable标志。在您的代码中,do ... while(changeList.MoreChangesAvailable)将一直运行,直到有更多的项目超过SyncFolderItems()调用返回的值为止。(在本例中为512)每次执行do循环时,它将SyncState设置为在此行上一次调用中获得的值:

u.SyncStates[folderContentsChange.FolderId] = changeList.SyncState;

这样可以确保您不会收到已经收到的物品。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以使用Java的Microsoft Exchange 2013 API吗?

来自分类Dev

Microsoft Exchange与GMail

来自分类Dev

Microsoft Exchange 传输代理

来自分类Dev

将Microsoft Exchange日历同步到Google日历

来自分类Dev

在线获取用于Microsoft Exchange的services.wsdl

来自分类Dev

使用EWS API导出Exchange日历

来自分类Dev

使用EWS托管API访问Exchange(2016)审核日志

来自分类Dev

使用Exchange Web服务(EWS)API查找Exchange Server版本的方法

来自分类Dev

Poplib Microsoft Exchange登录错误

来自分类Dev

如何使用javascript从Microsoft Exchange服务器访问邮件?

来自分类Dev

使用Evolution连接到Microsoft Exchange 5.5服务器

来自分类Dev

可以在Ubuntu上使用Microsoft Exchange Calendar吗?

来自分类Dev

无法使用 Azure 登录的 Microsoft Exchange 帐户登录

来自分类Dev

使用Evolution连接到Microsoft Exchange 5.5服务器

来自分类Dev

使用Exchange Web Services(EWS)查找邮箱代表

来自分类Dev

在Exchange上使用扩展属性缓慢搜索项目

来自分类Dev

如何使用Powershell和Outlook从Exchange Server中获取项目?

来自分类Dev

使用Meteor JS访问Exchange或Office 365 API?

来自分类Dev

使用 Stack Exchange API 检索多个 ID 时出错

来自分类Dev

PowerShell - 使用 Exchange Server 2016 REST API 获取日历事件

来自分类Dev

通过 Microsoft Exchange 服务器同步电子邮件标签

来自分类Dev

Coinbase Exchange API与PowerShell

来自分类Dev

在迁移到Exchange 2013之后,使用Exchange 2010的EWS 1.2应用程序的关键点是什么?

来自分类Dev

Microsoft Exchange Java API根据文件夹中的日期和数字获取消息

来自分类Dev

无法扩展 Microsoft Exchange On-Premises

来自分类Dev

使用EWS托管API从MS Exchange(O365)检索电子邮件

来自分类Dev

使用 EWS 托管 API 访问共享联系人 (Exchange 2010)

来自分类Dev

使用单个整数数组访问另一个数组中的项目时会发生什么

来自分类Dev

Exchange Web服务器超过1000个项目

Related 相关文章

  1. 1

    我可以使用Java的Microsoft Exchange 2013 API吗?

  2. 2

    Microsoft Exchange与GMail

  3. 3

    Microsoft Exchange 传输代理

  4. 4

    将Microsoft Exchange日历同步到Google日历

  5. 5

    在线获取用于Microsoft Exchange的services.wsdl

  6. 6

    使用EWS API导出Exchange日历

  7. 7

    使用EWS托管API访问Exchange(2016)审核日志

  8. 8

    使用Exchange Web服务(EWS)API查找Exchange Server版本的方法

  9. 9

    Poplib Microsoft Exchange登录错误

  10. 10

    如何使用javascript从Microsoft Exchange服务器访问邮件?

  11. 11

    使用Evolution连接到Microsoft Exchange 5.5服务器

  12. 12

    可以在Ubuntu上使用Microsoft Exchange Calendar吗?

  13. 13

    无法使用 Azure 登录的 Microsoft Exchange 帐户登录

  14. 14

    使用Evolution连接到Microsoft Exchange 5.5服务器

  15. 15

    使用Exchange Web Services(EWS)查找邮箱代表

  16. 16

    在Exchange上使用扩展属性缓慢搜索项目

  17. 17

    如何使用Powershell和Outlook从Exchange Server中获取项目?

  18. 18

    使用Meteor JS访问Exchange或Office 365 API?

  19. 19

    使用 Stack Exchange API 检索多个 ID 时出错

  20. 20

    PowerShell - 使用 Exchange Server 2016 REST API 获取日历事件

  21. 21

    通过 Microsoft Exchange 服务器同步电子邮件标签

  22. 22

    Coinbase Exchange API与PowerShell

  23. 23

    在迁移到Exchange 2013之后,使用Exchange 2010的EWS 1.2应用程序的关键点是什么?

  24. 24

    Microsoft Exchange Java API根据文件夹中的日期和数字获取消息

  25. 25

    无法扩展 Microsoft Exchange On-Premises

  26. 26

    使用EWS托管API从MS Exchange(O365)检索电子邮件

  27. 27

    使用 EWS 托管 API 访问共享联系人 (Exchange 2010)

  28. 28

    使用单个整数数组访问另一个数组中的项目时会发生什么

  29. 29

    Exchange Web服务器超过1000个项目

热门标签

归档