我正在开发 Outlook 插件,我必须处理大量项目。这需要相当多的时间,因此我尝试让处理在不同的线程中运行(使用 Task.Factory.StartNew)。但是,这会导致 Outlook 随机崩溃。
我正在使用 Redemption 来处理 MAPITable,以减少工作量并仅加载相关数据。
- 我尝试从我的主线程和我的工作线程初始化我的 RDOSession。
- 我尝试在主线程上获取 MAPIFolders,并在工作线程上仅使用 MAPITable
目前,唯一对我有用的是在主线程上运行我的所有逻辑(在按钮单击事件中),但是这会长时间锁定 Outlook 的用户界面,从用户的角度来看这是不可接受的。
是否有人对如何从 Outlook 插件中使用后台线程有一些指示?