Asp.net-Mvc
非同步操作方法
我正在查看 ASP.NET MVC 5 模板,我注意到許多操作並標記為非同步:
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl) { }我應該什麼時候對 MVC 操作執行此操作?它何時包含對數據庫的訪問?
如果我在操作中呼叫儲存庫,我是否還應該使用 Task 使其非同步?
你的問題的核心是:我什麼時候應該讓我的 MVC 動作非同步?有關該問題的詳細討論,請參閱<http://blogs.msdn.com/b/rickandy/archive/2009/11/14/should-my-database-calls-be-asynchronous.aspx>。他只談論數據庫,但他的觀點延續了下來。
本質上,幾乎從不以非同步方式呼叫數據庫。
對於使用非同步操作來減少 Web 伺服器上阻塞執行緒數的數據庫應用程序來說,幾乎總是完全浪費時間。
不要被那些告訴你盡可能使用非同步 IO 的人分心。非同步現在風靡一時。許多非理性的建議正在傳播。