我一直在寻找这个答案,但没有成功。
我一直使用RestSharp并且发现它非常整洁,但后来意识到微软提供的是HttpClient,它看起来乍一看它的功能相同。
(我也听说过ServiceStack,而且大多数人似乎比其他选择更喜欢它,但现在支付那么多不是一个选择 - 也不是使用旧版本。)
这只是一个个人喜好的问题,或者是否确实存在使用其中一个或另一个的利弊 - 或者,有一些具体的情况,其中一个可能比另一个更合适?
提前致谢!
答案 0 :(得分:18)
这主要取决于你猜测的个人偏好。几点:
RestSharp在HttpClient之前出现多年,在功能和易用性方面远远优于微软当时提出的任何内容。
HttpClient具有严格的异步(如async / await)API; RestSharp支持同步和异步调用。但是,除非您停留在较旧的平台上和/或支持遗留代码,否则同步进行HTTP调用的理由不大。 (不要让线程等待可能长时间运行的I / O!)
RestSharp涵盖了HttpClient本身没有的很多领域,最明显的是反应的反序列化。
在切换到HttpClient之前我使用了RestSharp几年(我想要async / await支持,据我所知,RestSharp当时并没有支持它,虽然它现在支持它),最终我写了并发布了我的拥有一个小型库Flurl.Http,它使用一些流畅的HTTP /反序列化方法扩展了我的URL构建器,这些方法只是围绕HttpClient和Json.NET的瘦包装器。