我已經將控制器和服務層設置爲最初不使用異步和任務。我更新了我的代碼(如下)。這是使用異步,任務並等待的正確方法嗎?隨着用戶數量的增長,我的代碼會長期受益嗎?使用帶有.Net 4.6的WebAPI2和Entity Framework 6的異步
控制器:
public async Task<IHttpActionResult> All()
{
var warmup = await _warmupService.GetAllAsync();
if (warmup != null)
return Ok(warmup);
return NotFound();
}
的控制器調用此方法在我服務層:
public async Task<Warmup> GetAllAsync()
{
return await Task.Run(() => GetWarmup());
}
GetWarmup()(也是服務)使得DB調用使用EF6:
private Warmup GetWarmup()
{
var warmup = new Warmup();
var factoryTools = _db.FactoryTools.Select(tool => new { tool.Factory });
}
你在問是否正確?當你運行它會發生什麼?它工作嗎? – Amy