【问题标题】:Item.Id.UniqueId is not uniqueItem.Id.UniqueId 不是唯一的
【发布时间】:2019-04-24 14:45:28
【问题描述】:

我们有一项服务,可以将我们的日历与交换日历同步。在同步过程中,我们使用唯一 ID 来识别约会。现在我们有一个客户,它有非唯一的 UniqueId。

我使用 EwsEditor (https://github.com/dseph/EwsEditor) 检查元素,是的,两个约会(相同的用户、相同的月份、相同的 UniqueId,但不同的约会)具有完全相同的 UniqueId。

这两个约会都不是使用我们的软件创建的。它们是由用户通过 Outlook 手动创建的。

交易所创建具有相同 ID 的约会/会议是否有原因?

【问题讨论】:

    标签: exchange-server exchangewebservices ews-managed-api


    【解决方案1】:

    您是说某个 ID 已被重用(如果可能的话,因为它仍然是唯一的)。或者你是说你在同一个日历中有两个相同的 id,如果你确定你不会混淆重复约会或者 UnqiueId 是 base64 编码的事实,所以这意味着 Id 是区分大小写的。

    也就是说,使用 UniqueId 进行日历约会不是一个好主意,您最好使用 GOID 属性,例如 PidLidCleanGlobalObjectId https://docs.microsoft.com/en-us/office/client-developer/outlook/mapi/pidlidcleanglobalobjectid-canonical-property

    【讨论】:

    • 我发现了问题......你给了我正确的提示......我的想法是......“嘿,肯定是相同的 ID,相同的 ID,具有正确的大小写”。但是,……不是。第二个 ID 有不同的大小写。在我的函数给我一个不应该发生的“id匹配”的警告之后,我用我的编辑器检查了这些值,并且比较函数不区分大小写。函数本身(这只是一个安全检查)在他的 SQL 查询中存在问题。运算符是正确的 (=),但字段排序是不区分大小写的。 (SQL_Latin1_General_CP1_CI_AS) 所以,...谢谢 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多