Outlook 2007加载项锁定Outlook访问已删除的Exchange用户

本文关键字:Outlook Exchange 用户 删除 访问 2007 加载项 锁定 | 更新日期: 2023-09-27 18:00:38

我有一个Outlook 2007加载项,它可以向日历项添加信息。我遇到了一个问题,如果打开了一个旧的日历邀请,其中包含不再有效的Exchange用户,Outlook在查找联系人时会挂起大约90秒。(在这种情况下,Outlook在缓存模式下运行)

我正试图弄清楚是否有一种方法可以异步访问Exchange用户的电子邮件,或者检测到该用户已被删除,然后跳过它。基本上,任何可以阻止UI挂起整整一分钟半的东西。

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

Outlook 2007加载项锁定Outlook访问已删除的Exchange用户

我会尝试将Redemption库与RDO一起使用来访问该属性,并查看它在这种情况下的反应。看见http://www.dimastr.com/redemption/并查找"RDORecipients对象集合"。

救赎从来都不是一个坏主意——它是一个非常好的库。

另一种选择是在另一个线程上调用GetExchangeuser()。这样可以避免阻塞。当然,在这种情况下,您需要弄清楚该怎么做——显示"请等待"对话框,或者让用户在呼叫期间做其他事情。