ASP.NET MVC 2关于异步控制器的问题

时间:2010-06-09 21:59:43

标签: asp.net-mvc-2 asynchronous

我想知道一件事 - 让我们假设用户点击一个按钮,并调用异步控制器的动作。当异步操作采取例如10秒?用户必须等待10秒才能查看操作结果?如果是这样,异步控制器真的有用吗?

1 个答案:

答案 0 :(得分:4)

是。用户必须等待10秒才能得到他的响应 - 但是,如果你有一个长时间运行的动作,你想要通过另一个更短的动作从一个页面通过AJAX调用它。

异步控制器的值是它在工作完成时不会阻止同一线程上的其他请求。由于您只有有限数量的线程,因此它们可能最终都会在对此操作的请求中被阻止。如果发生这种情况,则服务器无法提供任何请求。使用异步控制器允许线程在异步操作(等待网络或I / O)完成时返回到线程池。

在MSDN上查看此discussion