C# Watin with system.Threading.tasks.Task抛出ThreadStateException
我正在使用Watin内部任务,该任务引发异常C# Watin with system.Threading.tasks.Task抛出ThreadStateException,c#,multithreading,watin,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(() =>
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
}
});
我如何解决这个问题?我正在尝试谷歌搜索,但找不到解决方案。使用异步方法等待。您可以从web上获得许多这样的示例。使用异步方法和wait。您可以从web上获得很多这样的示例。代码没有“错误”。请阅读WatIn文档: 从文件中: 线程不是STA线程时WatiN的行为 创建的实例时,WatiN将抛出ThreadStateException WatiN.Core.IE类,帮助您提醒设置ApartmentState 停止 代码没有“错误”。请阅读WatIn文档: 从文件中: 线程不是STA线程时WatiN的行为 创建的实例时,WatiN将抛出ThreadStateException WatiN.Core.IE类,帮助您提醒设置ApartmentState 停止
如果您关心任务需要在什么类型的线程上运行,那么您可能应该只创建一个线程。您可以将其包装到一个方法中,该方法使用
TaskCompletionSource
来公开任务。看看你是否关心任务需要运行在什么类型的线程上,也许你应该创建一个线程。您可以将其包装到一个方法中,该方法使用TaskCompletionSource
来公开任务。看见