使用EWS托管API 2.0更新一个服务调用中的约会

时间:2013-07-19 16:55:49

标签: c# exchange-server exchangewebservices exchange-server-2010 ews-managed-api

我正在为每个现有约会设置一个自定义扩展属性:

var extendedPropertyDefinition = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, "RateTheMeetingId24", MapiPropertyType.Integer);
var propertySet = new PropertySet(PropertySet.FirstClassProperties) { extendedPropertyDefinition };
appointment.Load(propertySet);
appointment.SetExtendedProperty(extendedPropertyDefinition, meetingId);

而不是我正在更新约会:

appointment.Update(ConflictResolutionMode.AlwaysOverwrite);

它工作正常但速度很慢,因为Update()会为每个约会创建一个交换调用。我想在一个电话中更新会议。我可以使用设置的自定义属性制作我的约会列表,而不是我想使用类似的东西:

UpdateAppointment(List<Appointment> appointmentsWithExtendedPropertySetted)
{
    appointmentsWithExtendedPropertySetted.UpdateAll();
}

我在MSDN中找到了一个关于UpdateItems方法的引用: ExchangeService.UpdateItems method

但我不知道如何使用它。

1 个答案:

答案 0 :(得分:0)

我得到了如何解决我的探测我msdn论坛: update appointments in one service call

我需要在当时为一个appoitment设置属性,然后将其添加到批处理中,在为所有约会设置属性后,我需要使用_service.UpdateItems()方法进行约会批处理:

pulic void UpdateAppointments(List<Item> _updateBatch)
{
    Service.UpdateItems(upUpdateBatch, Folder.Id, ConflictResolutionMode.AlwaysOverwrite, MessageDisposition.SaveOnly, SendInvitationsOrCancellationsMode.SendToNone);
}