我正在處理Outlook加載項,並且必須處理大量項目。這需要花費很多時間,因此我試圖讓處理在不同的線程中運行(使用Task.Factory.StartNew)。但是,這導致Outlook隨機崩潰。Outlook加載項:使用線程
我正在使用Redemption與MAPITable一起工作,以減少工作量並只加載相關數據。
- 我試着從我的主線程和我的工作線程初始化我的RDOSession。
- 我試着讓主線程的MAPIFolders,並且只用MAPITable的工作線程工作
目前,這對我的作品的唯一事情是運行在主線程我所有的邏輯(在按鈕點擊事件中),但是這會長時間鎖定Outlook的用戶界面,這從用戶的角度來看是不可接受的。
有沒有人有一些關於如何使用Outlook Addin中的後臺線程的指針?
下面是一個示例的非工作的代碼,這導致在Outlook崩潰:https://gist.github.com/saguiitay/5565244 – SaguiItay 2013-05-12 22:49:16
使用嘗試範圍RDOSession變量{}和調用GC.Collect();畢竟RDO對象超出了範圍。 – 2013-05-14 16:44:25