我遇到了为我的应用程序进行单元测试而创建的c#类的问题,特别是围绕System.Threading.Tasks.Task对象的问题。
我有一个这样的对象列表,我想同步执行每个对象。
我打电话给以下人员:
myTask.RunSynchronously();
当我这样做时,我总是收到以下错误,我不知道为什么我可以解决它。
System.InvalidOperationException:可能未在已启动的任务上调用RunSynchronously。
有人有任何想法吗?
答案 0 :(得分:32)
问题是当你致电TaskFactory.StartNew
时启动任务 - 我的意思是,甚至在你正在开始任务的方法名称中。 StartNew
创建任务,然后代表您致电Start
。 = d
如果你愿意,可以{@ 1}}完成任务,比如@Peter Ritchie说,或者你可以手动创建任务:
Wait
答案 1 :(得分:29)
它已经开始,只需使用myTask.Wait()