2010-06-09 117 views
2

我想知道一件事 - 让我们假设用户单击一个按钮,并调用异步控制器的动作。会发生什么,当异步操作需要10秒?用户必须等待10秒才能查看操作的结果?如果是这样,异步控制器真的有帮助吗?ASP.NET MVC 2关于异步控制器的问题

回答

4

是的。用户将不得不等待10秒才能做出回应 - 不过,如果您有长时间运行的操作,您希望通过AJAX从通过另一个较短操作呈现的页面调用它。

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

在MSDN上查看此discussion