Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用联系人照片批量创建/更新联系人_C#_Performance_Exchange Server_Exchangewebservices_Ews Managed Api - Fatal编程技术网

C# 使用联系人照片批量创建/更新联系人

C# 使用联系人照片批量创建/更新联系人,c#,performance,exchange-server,exchangewebservices,ews-managed-api,C#,Performance,Exchange Server,Exchangewebservices,Ews Managed Api,我正在使用EWS管理的API在Exchange服务器上创建和更新联系人 我正在创建这样的联系人(其中用户是具有某些自定义属性的Active Directory主体对象): 此代码部分用于大约500*500个联系人,需要的时间太长。我希望提高它的性能。我尝试使用,但发现它们不支持“附件”,联系人照片就是附件 在这种情况下,是否有其他方法可以降低EWS呼叫或提高性能?没有任何方法可以用于批量创建附件,但当您说500*500联系人时,您是在500个不同的邮箱中创建500个联系人。也就是说,您在每个不同

我正在使用EWS管理的API在Exchange服务器上创建和更新联系人

我正在创建这样的联系人(其中用户是具有某些自定义属性的Active Directory主体对象):

此代码部分用于大约500*500个联系人,需要的时间太长。我希望提高它的性能。我尝试使用,但发现它们不支持“附件”,联系人照片就是附件


在这种情况下,是否有其他方法可以降低EWS呼叫或提高性能?

没有任何方法可以用于批量创建附件,但当您说500*500联系人时,您是在500个不同的邮箱中创建500个联系人。也就是说,您在每个不同的邮箱中创建了相同的500个联系人?。如果是这种情况,最快的方法是在主邮箱中创建一次联系人,然后将联系人复制到每个目标邮箱中。如果您对所有内容进行批处理,则添加附件将获得最佳效果。

没有任何方法可用于批处理附件创建,但当您说500*500联系人时,您是在500个不同的邮箱中创建500个联系人。也就是说,您在每个不同的邮箱中创建了相同的500个联系人?。如果是这种情况,最快的方法是在主邮箱中创建一次联系人,然后将联系人复制到每个目标邮箱中。如果您对所有内容进行批处理,请添加应能提供最佳结果的附件。

是否有一种方法可以一次复制多个联系人?或者你的意思是给每个联系人都打抄送电话吗?当然你可以批量抄送项目,我可能会将其限制为每批50-100个,否则你可能会超时。有没有办法一次抄送多个联系人?或者你的意思是给每个联系人都打抄送电话?当然你可以批量抄送物品,我可能会把它限制在每批50-100件,否则你可能会超时。
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);