Outlook 2007 Надстройка Блокировка Outlook Доступ к удаленному пользователю Exchange - PullRequest
0 голосов
/ 30 июня 2011

У меня есть надстройка для Outlook 2007, которая добавляет информацию в элементы календаря. Я столкнулся с проблемой, когда при открытии старого Приглашения в календаре, содержащего недействительных пользователей Exchange, Outlook зависает примерно на 90 секунд, пытаясь найти контакт. (В этом случае Outlook работает в режиме кэширования)

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

AddressEntry ae = appointmentItem.Recipients[0];
ExchangeUser eu = ae.GetExchangeUser();//hangs here if user is not in cached address book

Ответы [ 2 ]

0 голосов
/ 30 июня 2011

Погашение никогда не бывает плохой идеей - это очень хорошая библиотека.

Другим вариантом является вызов GetExchangeuser () в другом потоке. Это позволит избежать блокировки. Конечно, вам нужно выяснить, что делать в этом случае - показать диалоговое окно «Пожалуйста, подождите» или позволить пользователю сделать что-то еще во время разговора.

0 голосов
/ 30 июня 2011

Я бы попытался использовать библиотеку Redemption с RDO для доступа к свойству и посмотреть, как оно реагирует в этом случае. См. http://www.dimastr.com/redemption/ и найдите «Коллекция объектов RDORecipients».

...