【发布时间】:2017-04-25 17:12:19
【问题描述】:
我这里有以下场景。 DB调用异步运行时如何进行一些并行处理。
/// <summary>
/// Async query EF6.0
/// </summary>
/// <returns></returns>
public async Task<ActionResult> AsyncQuery()
{
var result = await GetAsyncDepartments();
Debug.WriteLine("Do some stuff here");
return View("Index");
}
private async Task<List<Department>> GetAsyncDepartments()
{
var depts = new List<Department>();
using (var newContext = new DemoEntities())
{
depts = await newContext.Departments.ToListAsync();
}
Debug.WriteLine("Got departments");
return depts;
}
它实际上是在等待任务完成,然后进入语句“Do some stuff here”。
如何异步调用 GetAsyncDepartments() 并做一些额外的事情,直到调用返回。 谢谢。
【问题讨论】:
-
在需要使用之前不要
await结果。
标签: c# asp.net-mvc-4 asynchronous entity-framework-6 task-parallel-library