BackGroundWorker无法在VSTO Outlook中使用

时间:2012-09-15 09:30:13

标签: sharepoint vsto

我正在研究将电子邮件上传到sharepoint文档库的VSTO Outlook插件,但关键问题是即使使用BackGroundWorker,我也无法在上传过程中使用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);

如果有人知道如何解决,请在这方面尽快帮助我。

1 个答案:

答案 0 :(得分:0)

您可以尝试在上传实现上设置断点,并在Visual Studio中打开线程窗口以验证它正在运行的线程。

如果它在正确的线程上运行,则应检查进度报告逻辑是否锁定了UI线程(例如,事件可能经常触发)。

最后,您可能遇到问题,因为上传方法的实现是以某种方式直接访问Outlook COM对象。