ASP.. NET MVC异步动作:谁等待结果

本文关键字:等待 结果 NET MVC 异步 ASP | 更新日期: 2023-09-27 18:11:05

我正试图熟悉TPL并在mvc中使用它。在所有指南中看起来都很好(将action标记为async,使用await => profit!),但我真的不理解它。

正如我所理解的调用链是这样的:客户端发送http请求→web服务器获得请求→mvc动作处理程序使用路由规则找到控制器和动作并执行它→动作在响应中写入结果。

BUT:路由器等待动作的魔力是什么?谁(以及如何?)处理这个链中的第一个异步方法?

ASP.. NET MVC异步动作:谁等待结果

我会尽量解释我所理解的:

Who is waiting:您的服务器,例如IIS。Router在这里没有做任何类似魔法的事情,只是通过简单的mvc管道运行,在其中一个关卡上执行一个长时间的操作。

如何等待:如果你知道你的应用程序有一些长时间运行的任务,你应该更改web服务器中的一些配置以获得高并发性。您可以在服务器配置中阅读如何完成高并发/高延迟Web服务调用。它提供了防止HTTP 503状态的可能性。

如果我对你的问题理解正确的话,我希望它能给你一些全局的视角。