如何有效地在Outlook 2007加载项中运行后台任务?

时间:2010-03-16 17:06:07

标签: multithreading outlook backgroundworker outlook-addin

我希望有人可以指出我在正确的方向上如何在Outlook 2007中运行后台任务,同时保持良好的用户体验。我有一个进程循环默认Outlook日历中的每个项目,并将信息(主题,位置等)发送到后端服务器。我尝试过ThreadPool.QueueUserWorkItem并创建一个Thread并将其设置为true,但是当这个任务运行时,用户在Outlook中正常操作的体验似乎受到了损害。理想情况下,我希望这个后台任务运行,而不是让Outlook看起来很迟钝。有关如何实现这一目标的任何想法?

由于

1 个答案:

答案 0 :(得分:3)

不建议运行后台运行的后台线程,可以这样做,但这取决于你在代码中实际执行的操作,OOM是在单线程的公寓COM服务器中运行的,所以每个COM调用都在主服务器上执行outlook.exe的主题

从您的描述中,最好的选择是处理不使用OOM的项目。

如果您正在运行Exchange(取决于版本),则可以使用EWS或ExchangeDav。 否则MAPI。

马库斯