【发布时间】:2016-04-21 09:06:28
【问题描述】:
我有一个应用程序,它使用 EWS API 跟踪 Exchange 中的约会。使用属性 .ItemId 是不好的,因为虽然它是独一无二的,但它很可能会改变 (Exchange web services: why is ItemId not constant? [continued])。对于跟踪项目,这是一个糟糕的情况。因此我使用属性 Appointment.ICalUid。
这个属性也不总是看起来一样,据我所知,它会以某种方式发生变化。我已经记录了一些更改。首先使用以下 .ICalUID 创建一条记录:
5fc22493-7212-4c44-9cd6-971c3bae28af
然后下次我在 Exchange 中查找记录时,相同的项目会返回另一个 .ICalUID:
040000008200E00074C5B7101A82E00800000000F01883C1D49AD101000000000000000010000000C321E8A40C6DE948836C422E2DA8610C
为什么我一开始返回一个 36 个字符的字符串,后来又返回一个 190 个字符长的字符串?为什么这个值会改变?
编辑: 短 ID 是在使用连接到 Exchange Server 的 Android 手机时创建的,而长 ID 是使用带有 Outlook 2013 的 Windows 10 上的 Outlook 创建的。但它会以某种方式发生变化?
【问题讨论】:
-
你能显示你检索值的代码吗
-
是的,但我想这并不奇怪:ExchangeService.FindItems(WellKnownFolderName.Calendar, searchFilter, iv),其中 searchFilter 是一个日期范围,而 ItemView iv = new ItemView(1000); iv.ProperytSet 包含一些基本属性和 AppointmentSchema.ICalUid
标签: c# exchangewebservices icalendar exchange-server-2013