一个简单的问题。我发现了一些具有这种“逻辑”和“架构”的方法。c#异步方法和返回等待
public async Task<T> FindAsync(params object[] keys)
{
return await this.context.FindAsync(keys);
}
一个单一的指令与它的等待。由于该方法是异步的,你必须这样做(否则会发生编译器错误)。 恕我直言,我找不到为什么你应该使用这种模式,因为如果方法是异步的,你可能想要并行执行不同的任务。如果将执行与await关键字同步,则会使该方法接近同步,并且会放弃.net的托管线程池机制的所有性能增益。 您的意见是?我错了?
你不需要使用await;在这种情况下,您必须删除async和await关键字。可能这里唯一的好处是,如果有异常,这个FindAsync方法将出现在调用堆栈中。 –
'await'不会使代码同步。 'async' /'await'与线程池没有任何关系。你可能会发现我的['async' intro](http://blog.stephencleary.com/2012/02/async-and-await.html)有帮助。 –