我想知道一件事 - 让我们假设用户点击一个按钮,并调用异步控制器的动作。当异步操作采取例如10秒?用户必须等待10秒才能查看操作结果?如果是这样,异步控制器真的有用吗?
答案 0 :(得分:4)
是。用户必须等待10秒才能得到他的响应 - 但是,如果你有一个长时间运行的动作,你想要通过另一个更短的动作从一个页面通过AJAX调用它。
异步控制器的值是它在工作完成时不会阻止同一线程上的其他请求。由于您只有有限数量的线程,因此它们可能最终都会在对此操作的请求中被阻止。如果发生这种情况,则服务器无法提供任何请求。使用异步控制器允许线程在异步操作(等待网络或I / O)完成时返回到线程池。
在MSDN上查看此discussion。