gpt4 book ai didi

.net - EWS : Appoitnment Item. Id.UniqueId 不是常量

转载 作者:太空宇宙 更新时间:2023-11-03 15:35:13 26 4
gpt4 key购买 nike

在使用 EWS Managed API 2.0 和 Exchange Server 2007 SP3 时,我遇到了一个奇怪的问题。

当我创建并保存约会时,我使用以下代码获取其 ID:

appointment.Save(SendInvitationsMode.SendToAllAndSaveCopy);

appointment.Id.UniqueId;

我将它存储在我的本地数据库中,以便以后可以使用它来更新 session 或取消 session 。

稍后当我想检索冲突的 session 时,我使用以下代码:

CalendarView view = new CalendarView(Start, End);
view.PropertySet = new PropertySet();
Folder rootfolder = Folder.Bind(service, WellKnownFolderName.Calendar);
//view.PropertySet.Add(AppointmentSchema.Resources);
view.PropertySet.Add(ItemSchema.Id);
view.PropertySet.Add(AppointmentSchema.Subject);
view.PropertySet.Add(AppointmentSchema.Start);
view.PropertySet.Add(AppointmentSchema.Duration);
view.PropertySet.Add(AppointmentSchema.End);
view.PropertySet.Add(AppointmentSchema.Organizer);
view.PropertySet.Add(AppointmentSchema.Id);
Mailbox mailbox = new Mailbox(Email);
FolderId id = new FolderId(WellKnownFolderName.Calendar, mailbox);
CalendarFolder folder = CalendarFolder.Bind(service, id);
FindItemsResults<Appointment> findResults = folder.FindAppointments(view);

//Iterating through the conflicting meetings returned by folder.FindAppointments
foreach (Appointment app in findResults.Items)
{
appts.Rows.Add(app.Subject, app.Start, app.End, app.Duration, app.Id.UniqueId);
}

当我想访问其中一个冲突 session 的 ID 时,我发现它与我在本地数据库中的 ID 不同,尽管所有其他信息都相同。我仍然可以使用我的 ID 绑定(bind)到约会,但问题是同一个 session 现在有 2 个不同的 ID。为什么 EWS 不存储约会的唯一 ID 为什么并且 (appointment.Id.UniqueId) 不是常量?

我没有找到解决这个问题的明确方法。

最佳答案

约会本身没有不会改变的唯一 ID,但约会有属性 ICalUid(我认为它的唯一日历项 ID):

appointment.ICalUid;

这确实是独一无二的,并且不会改变,然后据我测试, session 会更新。我为一个人生成了 1000 场 session ,所有 ICalUid 都是独一无二的。试试吧,它对我有帮助:)

关于.net - EWS : Appoitnment Item. Id.UniqueId 不是常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32073614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com