2012-09-15 44 views
2

我正在處理一個將電子郵件上傳到SharePoint文檔庫的VSTO Outlook插件,但關鍵問題是即使使用BackGroundWorker我也無法在上傳過程中使用Outlook。BackGroundWorker無法在VSTO Outlook中工作

代碼如下。

System.Threading.SynchronizationContext.SetSynchronizationContext(new WindowsFormsSynchronizationContext()); 
bw = new BackgroundWorker(); 
bw.WorkerReportsProgress = true; 
bw.DoWork += delegate(object sender, DoWorkEventArgs e) 
    { 
     bw_DoWork(sender, e, uploadData); 
    }; 
bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted); 
bw.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged); 

如果有人知道如何解決它,請幫助我快速在這方面。

回答

0

您可以嘗試在您的上傳實施中放置斷點,並在Visual Studio中打開線程窗口以驗證它正在運行的線程。

如果它正在正確的線程上運行,那麼應該檢查您的進度報告邏輯是否鎖定了UI線程(例如該事件可能會頻繁發生)。

最後,您可能遇到問題,因爲上傳方法的實現以某種方式直接訪問Outlook COM對象。

相關問題