【发布时间】:2017-03-14 09:39:33
【问题描述】:
我正在使用 EWS 托管 API 在 Exchange Server 上创建和更新联系人。
我正在创建这样的联系人(其中用户是具有一些自定义属性的 Active Directory 主体对象):
Contact addContact = new Contact(service);
exchangeContact.NickName = GenerateNickName(user);
exchangeContact.DisplayName = exchangeContact.NickName;
exchangeContact.FileAs = user.DisplayName;
...
exchangeContact.PhoneNumbers[PhoneNumberKey.BusinessPhone] = user.Phone;
exchangeContact.PhoneNumbers[PhoneNumberKey.MobilePhone] = user.MobilePhone;
ExtendedPropertyDefinition adGuidPropDef = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, "ADGUID", MapiPropertyType.String);
exchangeContact.SetExtendedProperty(adGuidPropDef, user.Guid.ToString());
if (user.ThumbnailPhoto != null)
{
exchangeContact.SetContactPicture(user.ThumbnailPhoto);
}
exchangeContact.Save(parentFolderId);
此代码部分调用了大约 500 * 500 个联系人,并且花费的时间太长。我希望提高它的性能。我尝试使用batch create/update methods,但我发现他们不支持“附件”,并且联系人照片是附件。
在这种情况下,是否有其他方法可以降低 EWS 调用或提高性能?
【问题讨论】:
标签: c# performance exchange-server exchangewebservices ews-managed-api