0
// This does not work
Task t = await Task.Run(async() => { await requestThread.Execute(); }, cts.Token);
// This does work
Task t = Task.Run(async() => { await requestThread.Execute(); }, cts.Token);
当我尝试以上(含的await)我得到错误“无法隐式转换类型‘无效’到‘System.Threading.Tasks.Task’如何获得任务的处理时,它正在等待
获取Task.Run返回的任务句柄的正确方法是什么?
Execute方法的定义是这样的:
public async Task Execute()
我完全在想它...这工作,它是如此的干净。谢谢! –
嘿斯科特,在我的Execute方法中,我向一个REST Web服务做了一个HttpRequest。你会说这是将Execute方法包装在“Task.Run”中的一个好动机吗?你可以在这里找到更多的代码:http://codereview.stackexchange.com/questions/136243/task-run-proper-use –
我也会发送'SendRequest'异步并等待该方法。那么就没有必要去做'Task.Run' –