批处理联系人创建/更新与联系人照片



我正在使用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触点,并且需要太长。我希望提高其性能。我尝试使用批处理创建/更新方法,但发现它们不支持"附件",并且联系人照片是附件。

有其他方法可以降低EWS调用或提高性能吗?

您没有什么可以用来批处附件创建的,但是当您说500 * 500联系人时,您是在500个不同的邮箱中创建500个联系人。也就是说,您在每个不同的邮箱中创建相同的500个联系人?如果情况最快的方法是在主邮箱中创建一次联系人,然后将联系人复制到每个目标邮箱中。如果您批处理所有内容,则禁止将给出最佳结果的添加附件。

最新更新