請告訴我,它有道理嗎? - 在控制器寫入異步方法,但沒有異步操作,我的意思是下一個記錄:ASP.NET MVC異步任務運行是否有意義?
[HttpPost]
public async Task<ActionResult> SendTask(TaskModel taskModel)
{
MailTask task = taskModel.BuildTask();
await Task.Run(() =>
{
task.Send(); // <- it is not async method
// bla bla bla... my other no async code
});
return _jsonDataResult;
}
是否有意義?我只是運行動作,並在我的任何代碼。 我不斷看到在'await'無處不在之後調用「ToListAsync()或SaveChangesAsync()」的示例 - 它是.NET異步操作。但是,如果我不使用它,而是它使用只是等待Task.Run(()=> {x = 5 +5;}))它會異步嗎?
所以,在Web應用程序異步的全部利益,只能在系統操作(ToListAsync()e.t.c)使用?其餘的方式(在節約資源方面不同步)沒有意義? – user3418560
通常只有在涉及I/O時。簡而言之,您不會節省任何操作的資源。您可以更有效地使用等待時間。我編輯了我的答案,使其更清晰。 –