Dan*_*Dan 2 c# async-await asp.net-mvc-4
我正在浏览一个ASP.NET MVC应用程序,并且有一些代码调用SaveChangesAsync()以在实体更新时保存对数据库的更改,但调用函数中的下一个语句是return语句.根据我的理解,调用SaveChangesAsync()会将控件返回给调用函数,所以我很困惑为什么当它已经在函数末尾时需要使用SaveChangesAsync().例如,在下面的代码中,调用函数中的下一个语句是return RedirectToAction(...);
// Calling function
[HttpPost]
public async Task<ActionResult> Edit(Person p)
{
await PersonRepository.UpdatePerson(p);
return RedirectToAction(...);
}
// PersonRepository.UpdatePerson
public async Task<bool> UpdatePerson(Person p)
{
...
await db.SaveChangesAsync();
return true;
}
Run Code Online (Sandbox Code Playgroud)
是的,如果没有逻辑继续等待操作,则使用await是有意义的.
等待的一个主要优点是它将执行控制返回给调用环境.这允许在等待操作完成时执行其他计划任务.
在您的情况下,这意味着控制权将返回给Web主机,从而允许服务器上的其他任务计算一些处理时间
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |