【发布时间】:2017-05-28 05:24:27
【问题描述】:
据我所知,异步方法调用将在新线程中启动该方法,并立即将控制权交还给发起调用的线程。因此,在 WinForm 应用程序中,当在事件处理程序中调用异步方法时,该方法将由新线程执行,并且控件将立即返回到发起调用的线程,在这种情况下是 UI线。此时,UI 线程可以响应其他用户请求,直到异步调用完成,以便 UI 线程可以继续执行事件处理程序中的代码。
我的问题是在同一场景中会发生什么,但我们拥有的不是 WinForms 应用程序和 asp.net web api 控制器(或用于 web 应用程序和 web api 的 asp.net 核心控制器)在 WinForms 中 UI 线程是在调用异步方法后将重新获得控制权以便能够响应其他用户交互的方法。 asp.net web api(或asp.net core)中的等效线程是什么,是否有其他形式的交互可以响应?
顺便说一句,我不是在问在控制器中使用异步方法是好是坏。一些库只提供异步方法,所以这是不可避免的。我只是问有没有什么好处?
谢谢
【问题讨论】:
标签: c# asp.net-mvc asp.net-web-api asp.net-core async-await