Async/await with task.run vs task.run并在.NET 4.0中继续

e4r*_*dog 9 .net c# async-await

我在.net 4.0中安装了异步包.这使我能够在我的应用程序中使用async/await关键字.

因为我已经理解到现在我可以在async/await中使用wrap my task.run代码,并且与使用continuewith的task.run具有相同的结果.

这是真的?还是有更深的分歧?

Jon*_*eet 11

这取决于你在做什么ContinueWith.但是,通常你可以使用它await来达到你以前使用的相同效果ContinueWith.你不能做的是"仅在失败时继续使用此代码"之类的东西 - 你只需使用正常的异常处理.正如AlexH所说,在你的async方法的总体行为方面会有进一步的差异- 但在大多数情况下,我会说这是可取的.基本上,代码流的异步,因此异步方法倾向于调用更多的异步方法等.

我建议你阅读一下async/ await是什么(有很多资源 - 我建议MSDN上的"使用基于任务的异步模式"页面作为一个起点.