Watin with system.Threading.tasks.Task抛出ThreadStateException

时间:2015-07-27 18:22:24

标签: c# multithreading watin

我在任务中使用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 
             }    
});

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

2 个答案:

答案 0 :(得分:1)

没什么"错误"与代码。请阅读WatIn文档:

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

来自文档:

  

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

     

WatiN将在您创建实例时抛出ThreadStateException   WatiN.Core.IE类,帮助您提醒设置ApartmentState   到STA。

答案 1 :(得分:-1)

使用async方法等待。你可以从网上获得很多这样的例子。