使用system.Threading.tasks.Task抛出ThreadStateException

本文关键字:抛出 ThreadStateException Task tasks system Threading 使用 | 更新日期: 2023-09-27 18:04:51

我使用Watin在任务中抛出异常

ThreadStateException with an error message of 'The CurrentThread needs to have its ApartmentState set to ApartmentState.STA to be able to automate Internet Explorer'

我的代码看起来像

 Task task = Task.Factory.StartNew(() =>
                    {
              try{
                     string  Url="www.google.com";
                     IE ie = new IE(Url);
                }
               catch (Exception ex)
             {
             throw ex; //ThreadStateException 
             }    
});

我该如何解决这个问题?
我试图谷歌,但无法找到解决方案。

使用system.Threading.tasks.Task抛出ThreadStateException

代码没有"错误"。请在WatIn文档中阅读:

http://watin.org/documentation/sta-apartmentstate/

来自文档:

当线程不是STA线程时WatiN的行为。

的实例时,WatiN将抛出ThreadStateExceptionwatin。core。ie类,来提醒你设置aparmentstateSTA。

使用async方法。你可以在web上找到很多这样的例子