1

我正在开发一个 MVC 4 应用程序。我有一个控制器,我使用HttpClient该类调用一些 REST 服务。控制器是普通控制器,动作没有用async关键字描述。在这种情况下,我使用类PostAsync方法有什么好处吗?HttpClient这不是火灾和忘记呼叫,我需要从服务返回的结果。ASP.NET 线程无论如何都会被阻塞,直到它得到结果,所以有优势吗?

4

1 回答 1

1

在这种情况下你没有任何优势。您必须始终保持异步或始终同步。

我能想到的唯一一个例外是,当您有一个从几十个异步并发请求开始的单一同步 MVC 操作时。在这种情况下,你烧一个线程来协调几十个其他线程。那是可以接受的。

旁注:异步不适用于大多数服务器应用程序,但在您的情况下,您似乎可以从全异步风格的解决方案中受益,因为您正在发出可能长时间运行的 HTTP 请求。因此,对于这一特定的 MVC 操作,您可能会切换到全异步。

于 2012-12-12T12:07:08.667 回答