1

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コールを減らしたり、パフォーマンスを向上させる別の方法はありますか?

答えて

0

アタッチメントの作成をバッチするのに何も使用できませんが、500 * 500の連絡先とは500種類のメールボックスに500件の連絡先を作成しています。つまり、それぞれのメールボックスに同じ500の連絡先を作成していますか?その場合、最速の方法は、一度マスターメールボックスに連絡先を作成して、その連絡先を各対象メールボックスにコピーすることです。すべてのバッチをバッチする場合は、最高の結果が得られる添付ファイルを追加してください。

+0

複数の連絡先を一度にコピーする方法はありますか?あるいは、連絡先ごとにコピーを呼び出すことを意味しますか? –

+0

あなたはバッチをコピーできますか?おそらくバッチあたり50〜100に制限するか、タイムアウトになるかもしれません。 –

関連する問題