ASP.NET MVC AsyncController 与异步等待
ASP.NET MVC AsyncController vs async await
有人可以解释一下使用 async await 而不是 AsyncController (Link here) 实现异步的执行差异或性能优势是什么。我搜索了 Internet 和 Whosebug 等,发现从 MVC 4 开始我们应该使用 Tasks async await 等,而 AsyncController 已成为过去(如果我有误解,请随时纠正我)。
现在,异步控制器与标准控制器一样容易实现,而且由于有了任务库和 async/await 关键字,异步调用比以前更容易实现,也更不容易出错。这就提出了另一个问题:不要过度使用它们。如果异步处理短任务和大量请求,服务器将花费更多时间在线程切换上而不是执行代码。所以永远不要仅仅为了它而做,而是要有所保留并进行性能测试。
AsyncController 在 MVC 4 中被删除,其中它仍然存在是为了与 MVC3 兼容。您还可以在 await async 中编写更简单的代码,并且比子类化 AsyncController
更好
有人可以解释一下使用 async await 而不是 AsyncController (Link here) 实现异步的执行差异或性能优势是什么。我搜索了 Internet 和 Whosebug 等,发现从 MVC 4 开始我们应该使用 Tasks async await 等,而 AsyncController 已成为过去(如果我有误解,请随时纠正我)。
现在,异步控制器与标准控制器一样容易实现,而且由于有了任务库和 async/await 关键字,异步调用比以前更容易实现,也更不容易出错。这就提出了另一个问题:不要过度使用它们。如果异步处理短任务和大量请求,服务器将花费更多时间在线程切换上而不是执行代码。所以永远不要仅仅为了它而做,而是要有所保留并进行性能测试。
AsyncController 在 MVC 4 中被删除,其中它仍然存在是为了与 MVC3 兼容。您还可以在 await async 中编写更简单的代码,并且比子类化 AsyncController
更好