Outlook зависает при импорте vcfs, имея огромное количество контактов - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь импортировать кучу vcf файлов в свой внешний вид, в котором уже более 7 тыс. Контактов.Но, как уже сказано в заголовке, outlook зависает после импорта 1-2 vcf-файлов, и он не возвращается в нормальное состояние, я должен убить его и перезапустить, прежде чем он снова заработает нормально.С чистым внешним видом и меньшим количеством контактов (100-200) эта проблема не появится, и все в порядке, но с таким огромным количеством контактов она просто больше не будет работать.

        Microsoft.Office.Interop.Outlook.Application OutlookApplication = new Microsoft.Office.Interop.Outlook.Application();
        Microsoft.Office.Interop.Outlook.ContactItem contact;
        int count = 0;
        string[] files = Directory.GetFiles(@"C:\vcf", "*.vcf");
        foreach (string file in files)
        {
            Console.WriteLine(count++);
            contact = OutlookApplication.Session.OpenSharedItem(file) as Microsoft.Office.Interop.Outlook.ContactItem;
            contact.Save();
        }

Я не уверен, что я мог бы сделать, чтобы предотвратить возникновение этой проблемы, поскольку код уже небольшой и просто выполняет основные функции, открывает vcf и сохраняет его в outlook.

Изменить:

После того, как я добавил задержку в 1 сек после контакта. Сохранить ();кажется, работает лучше, но я не слишком уверен, почему?

...