【问题标题】:async and await in an asp.net core mvc web projectasp.net core mvc web项目中的异步和等待
【发布时间】:2018-05-14 22:08:54
【问题描述】:

我已经理解了 WPF 应用程序中 async 和 await 的原因:这允许主 UI 线程不浪费时间。用户可以在等待 I/O 操作的同时与 UI 交互。

我不明白为什么我们在 ASP.Net Core MVC 2.0 中看到相同的概念。 WebMethods [HttpGet]、[HttpPost] 无论如何都应该在渲染页面之前等待...

谢谢

【问题讨论】:

    标签: asynchronous asp.net-core-2.0


    【解决方案1】:

    它可以释放 CPU 来处理对控制器的其他请求,而不是忙于等待您正在执行的任何异步操作。 This answer有一个很好的类比来帮助解释:

    想象一下,就像上公共汽车一样,有五个人在等上车,第一个上车、付款并坐下(司机满足他们的要求),你上车(司机满足你的要求)但你找不到你的钱;当您在口袋里摸索时,司机放弃了您并让接下来的两个人上车(满足他们的要求),当您找到您的钱时,司机再次开始与您打交道(完成您的请求)-第五个人必须等到你已经完成了,但第三和第四个人得到了服务,而你已经完成了一半的服务。这意味着驱动程序是池中唯一的线程,乘客是请求。

    如果没有异步控制器,您身后的乘客将不得不在您找钱时等待很长时间,同时公交车司机将无所事事。

    【讨论】:

      猜你喜欢
      • 2021-05-21
      • 2015-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-03
      • 2016-08-29
      • 1970-01-01
      相关资源
      最近更新 更多