我正在研究MVC 4应用程序。我有一个控制器,我使用HttpClient
类调用一些REST服务。控制器是普通控制器,并且不使用async
关键字描述操作。在这种情况下,我是否可以使用PostAsync
类的HttpClient
方法获得任何好处?这不是火,忘记电话,我需要从服务返回的结果。无论如何,ASP.NET线程都会被阻塞,直到得到结果,这样有优势吗?
答案 0 :(得分:1)
在这种情况下,你没有任何优势。你必须要么一直是异步的,要么一直是同步的。
我能想到的唯一一个例外是当你有几个异步的并发请求启动一个同步的MVC动作时。在这种情况下,您可以刻录一个线程来协调其他几个线程。那是可以接受的。
附注:Async不适用于大多数服务器应用程序,但在您的情况下,似乎您可以从全异步样式解决方案中受益,因为您正在制作可能长时间运行的HTTP请求。因此,您可以切换到这个特定MVC操作的全异步。