Я работаю над Outlook Addin, и мне приходится обрабатывать большое количество элементов. Это занимает довольно много времени, и поэтому я попытался выполнить обработку в другом потоке (используя Task.Factory.StartNew). Однако это приводит к случайному сбою Outlook.Outlook Addin: Работа с потоками
Я использую Redemption для работы с MAPITable, чтобы уменьшить нагрузку и загрузить только релевантные данные.
- Я попытался инициализировать мою RDOSession как из моего основного потока, так и из моего рабочего потока.
- Я пытался получать MAPIFolders в основном потоке, и работает только с MAPITable на рабочий поток
В настоящее время, единственное, что работает для меня работает всю свою логику на главном потоке (в событии нажатия кнопки), однако это блокирует пользовательский интерфейс Outlook в течение длительного периода времени, что неприемлемо с точки зрения пользователя.
Есть ли у кого-нибудь указатель на то, как работать с фоновыми потоками из Outlook Addin?
Вот пример нерабочим кода, что приводит к Outlook, сбой: https://gist.github.com/saguiitay/5565244 – SaguiItay
Попытка переменной Объем RDOSession с помощью {} и вызвать GC.Collect(); ведь объекты RDO не входят в сферу действия. –