0
我使用.net框架4.5.1下的Asp.net MVC 5。互聯網上的例子很多顯示控制器的異步動作的使用像下列:異步動作+同步DBQuery VS同步動作+異步DbQuery
public async Task<ActionResult> Practice()
{
......
SqlCommand command = new SqlCommand();
......
await command .ExecuteNonQuery();
......
return View();
}
同時,SqlCommand的提供等ExecuteNonQueryAsync,其內部實現異步opertaion異步方法,代碼是一樣的東西:
public ActionResult Practice()
{
......
SqlCommand command = new SqlCommand();
......
command.ExecuteNonQueryAsync();
......
return View();
}
假設所有耗時操作都是數據庫CRUD,我想知道上述兩個代碼片段之間是否有區別?
具體來說,兩種方式都是導致最終目標:「一個線程在等待第一個請求完成時不會阻止其他請求的響應,因此異步請求阻止了請求排隊和線程池增長當有很多併發請求調用長時間運行的操作時。「 ?
非常感謝。