首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理定期系列的EWS删除(移动)事件?

如何处理定期系列的EWS删除(移动)事件?
EN

Stack Overflow用户
提问于 2013-06-03 09:03:57
回答 1查看 1K关注 0票数 1

我正在使用C#中的托管EWS API来实现一个电子邮件/日历客户端。为了处理更新,我使用了拉取通知。我正在尝试弄清楚如何正确地处理循环序列的"delete“事件。从技术上讲,该事件是一个移动事件,因为它显示为将系列移动到回收站文件夹。

在处理循环序列时,您得到的事件总是针对循环主节点的。我已经成功地实现了“添加”案例,通过使用主ID和重复信息来同步所有我感兴趣的单个事件,但还不能确定移除/删除案例。

到目前为止,我已经研究了两种主要的方法:

1)尝试重用更改密钥。在循环系列中,所有实例的更改密钥都是相同的。因此,我尝试在缓存中查找具有匹配更改键的约会。但是,更改密钥在此场景中不匹配,因为当您收到事件时,该系列已被移动到回收站文件夹,因此具有新的更改密钥。

2)使用来自移动/删除事件的循环主节点绑定到我的缓存中的约会,然后尝试根据这些事件的唯一in进行删除。当我收到事件的时候,这个系列已经被移动了,并且所有的实例都有了新的ID。因此,来自查找的新ID都不与我拥有的旧ID匹配。

为了完整起见,我在事件中使用了OldItemId,但正如预期的那样,我不能对此ID执行任何绑定,因为该项目不再存在于服务器上。

因此,简而言之,我找不到任何方法将循环序列的move- to -trash事件与实际的原始循环序列联系起来。这是不可能的,还是我错过了什么?

现在,我将测试一些主动缓存约会的重复主ID。也就是说,对于我同步的每个约会,我将测试它是否是系列的一部分,并加载该系列的定期主控的ID。然后,当我得到一个删除/移动事件时,我应该能够将OldItemId从该事件链接到我缓存的循环主状态,然后删除所有相关的事件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-06 15:37:22

所以我研究的最后一个解决方案就是我使用的那个。现在,当我同步约会时,我会检查它们是否是序列的一部分,并查找它们的循环主节点并缓存该状态。然后,当我看到delete/move事件时,我可以查找我的主约会if映射,以判断该操作是否针对某个系列。

我希望避免做所有这些额外的状态跟踪,但我找不到任何方式来建立从删除事件到我在没有它的情况下同步的单个事件的链接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16888810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档